编译32位gdal,9个无法解析的外部命令

在编译32位gdal时遇到了这个错误,试了网上的方法都不好用。自己试出来的解决方案

正在创建库 gdal_i.lib 和对象 gdal_i.exp
LINK :error LNK2001: 无法解析的外部符号 
_OSRValidateLINK : error LNK2001: 无法解析的外部符号 _OPTGetProjectionMethodsLINK : error 
LNK2001: 无法解析的外部符号_OGR_G_GetPointCountLINK : error 
LNK2001: 无法解析的外部符号 _OGRRegisterAllLINK : error LNK2001: 无法解析的外部符号 _GDALSimpleImageWarp@36LINK : error 
LNK2001: 无法解析的外部符号 _GDALReprojectImage@48LINK : error 
LNK2001: 无法解析的外部符号 _GDALComputeMedianCutPCT@32LINK : error 
LNK2001: 无法解析的外部符号 _GDALDitherRGB2PCT@28LINK : error 
LNK2001: 无法解析的外部符号 _OCTNewCoordinateTransformation@8
gdal204.dll : fatal error LNK1120: 9 个无法解析的外部命令NMAKE : 
fatal error U1077: ““C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.EXE””: 返回代码“0x460”Stop.

如果已经修改过了makefile.vc和nmake.opt最好先恢复一下
只需要修改nmake.opt的两个地方就可以了
将这段话注释掉

!IFDEF WIN64
WIN64=YES
!ENDIF

修改后
#!IFDEF WIN64
#WIN64=YES
#!ENDIF

修改第二处
!IFDEF WIN64
!UNDEF STDCALL
!ELSE
SYM_PREFIX=_
!ENDIF

修改后
#!IFDEF WIN64
#!UNDEF STDCALL
#!ELSE
SYM_PREFIX=_
#!ENDIF

然后执行
//1910代表vs2017
nmake /f makefile.vc MSVC_VER=1910
nmake /f makefile.vc MSVC_VER=1910 install
nmake /f makefile.vc MSVC_VER=1910 devinstall

posted @ 2022-03-22 19:04  趁着月光  阅读(190)  评论(0)    收藏  举报  来源