GDAL(C++版)编译

GDAL(C++版)编译

1、proj库准备、SQLite库准备(针对GDAL3版本)

链接:GDAL

2、编译

常见问题描述(无法解析的外部符号):如图
正在创建库 gdal_i.lib 和对象 gdal_i.exp
LINK : error LNK2001: 无法解析的外部符号 _OSRValidate
LINK : error LNK2001: 无法解析的外部符号 _OGR_G_GetPointCount
LINK : error LNK2001: 无法解析的外部符号 _OGRRegisterAll
LINK : error LNK2001: 无法解析的外部符号 _GDALSimpleImageWarp@36
LINK : error LNK2001: 无法解析的外部符号 _GDALReprojectImage@48
LINK : error LNK2001: 无法解析的外部符号 _GDALComputeMedianCutPCT@32
LINK : error LNK2001: 无法解析的外部符号 _GDALDitherRGB2PCT@28
LINK : error LNK2001: 无法解析的外部符号 _OCTNewCoordinateTransformation@8
gdal300.dll : fatal error LNK1120: 8 个无法解析的外部命令
常见编译错误
解决方案:下载编译c++版:链接 GDAL
修改nmake.opt文件
1、进入库文件夹中,找到nmake.opt文件,用文本编译器(notepad++)或者vs打开。
第41行,设置MSVC_VER=设置为1922(VS2019版本,根据编译器来确定)。
第57行,设置
GDAL_HOME =生成文件的路径。
第218行,设置
DLLBUILD=1启动动态编译(dll)、 0为静态编译。
第238行,将
PROJ_INCLUDE PROJ_LIBRARY
,分别设置为解压PROJ时的include(-I后为地址)和 lib文件路径。(proj路径)
第509行,设置SQLITE_INC SQLITE_LIB,路径同上。(sqlite路径)
2、打开x64 Native Tools Command Prompt for VS 2019进入库文件夹(nmake.opt所在文件夹),输入命令:
(也可以使用VCVARS64.BAT。以管理员身份执行cmd,(cd命令)找到并运行编译器下的VCVARS64.BAT。可在vs安装目录下搜索)

nmake -f makefile.vc  WIN64=1 
nmake /f makefile.vc devinstall  WIN64=1 

debug版:

nmake /f makefile.vc DEBUG=1  WIN64=1 
nmake /f makefile.vc devinstall  WIN64=1 

问题描述:未能找到:“rc.exe”。系统找不到指定的文件。
解决方案:将C:\Program Files (x86)*Windows Kits*\10\bin\10.0.18362.0\x64\rc.exe 添加到环境变量中,重新启动命令行编译;
在这里插入图片描述
问题:解析路径乱码: 鈥狤:\006gdal\lib\proj_6_2.lib
在这里插入图片描述
解决方法:
nmake.opt中修改的路径错误:
原因:
在这里插入图片描述
注:请不要复制属性中是路径,从文件夹中复制路径
以上为64位的编译方法,如果需要使用32的编译需要下载32的proj和sqlite版本,本版本暂时只提供64的版本。

3、成果下载

C++ 版GDAL3(64位)

4、声明

以上通过本人测试与调试,是在项目中实践的方法,经过论证,可以实现,如有问题,请留言,谢谢你的阅读!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值