vs2015如何对GDAL编译

 VS2015 环境下对gdal2.0.1进行64bit编译


出现如下错误

正在创建库 gdal_i.lib 和对象 gdal_i.exp
INK : error LNK2001: 无法解析的外部符号 OGRFeatureStylePuller
INK : error LNK2001: 无法解析的外部符号 OSRValidate
INK : error LNK2001: 无法解析的外部符号 OPTGetProjectionMethods
INK : error LNK2001: 无法解析的外部符号 OGR_G_GetPointCount
INK : error LNK2001: 无法解析的外部符号 OGRRegisterAll
INK : error LNK2001: 无法解析的外部符号 GDALSimpleImageWarp
INK : error LNK2001: 无法解析的外部符号 GDALReprojectImage
INK : error LNK2001: 无法解析的外部符号 GDALComputeMedianCutPCT
INK : error LNK2001: 无法解析的外部符号 GDALDitherRGB2PCT
INK : error LNK2001: 无法解析的外部符号 OCTNewCoordinateTransformation
dal19.dll : fatal error LNK1120: 10 个无法解析的外部命令

MAKE : fatal error U1077: “f:\VS2010\VC\BIN\link.EXE”: 返回代码“0x460

这是由于x64设置不当引起的,解决方法是使用VS2015 x64 本机命令提示符工具,如下:同时,需要修改nmake.opt大概第一百行左右中的,Win64 = yes

又出现新错误

odbccp32.lib(dllload.obj) : error LNK2019: 无法解析的外部符号 _vsnwprintf_s,该 符号在函数 StringCchPrintfW 中被引用

将gdal-2.0.1/make.opt中作如下修改:


!IFDEF ODBC_SUPPORTED
!IF $(MSVC_VER) >= 1900
ODBCLIB = legacy_stdio_definitions.lib odbc32.lib odbccp32.lib user32.lib
!ELSE
ODBCLIB = odbc32.lib odbccp32.lib user32.lib
!ENDIF

!ENDIF

仍然不行


那么说明odbccp32.lib文件没有被找到,而egacy_stdio_definitions.lib先被找到了,因此,寻找egacy_stdio_definitions.lib所在目录C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64。然后,寻找odbc32.lib odbccp32.lib所在目录C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64,将这两个lib文件复制粘贴到egacy_stdio_definitions.lib所在目录。即可。

然而也不行,进过查找发现电脑中没有odbccp32.lib文件



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值