GDAL 地址:Index of /gdal/ (osgeo.org)
在编译GDAL(64位)时,出现了连接错误,如下:
LINK : error LNK2001: unresolved external symbol > _OCTNewCoordinateTransformation at 8
LINK : error LNK2001: unresolved external symbol _vbSafeArrayToPtr at 16
LINK : error LNK2001: unresolved external symbol _GDALDitherRGB2PCT at 28
LINK : error LNK2001: unresolved external symbol > > _GDALComputeMedianCutPCT at 32
LINK : error LNK2001: unresolved external symbol _GDALReprojectImage at 48
LINK : error LNK2001: unresolved external symbol _GDALSimpleImageWarp at 36
LINK : error LNK2001: unresolved external symbol _OGRRegisterAll
LINK : error LNK2001: unresolved external symbol _OGR_G_GetPointCount
LINK : error LNK2001: unresolved external symbol _OPTGetProjectionMethods
LINK : error LNK2001: unresolved external symbol _OSRValidate
LINK : error LNK2001: unresolved external symbol _OGRFeatureStylePuller
以下是我编译的步骤:
1:在GDAL目录下的nmake.opt文件中,找到SYM_PREFIX的定义,应该在438行左右
将SYM_PREFIX=_ 改为SYM_PREFIX= 就是将最后的下划线去掉
2:在GDAL目录下的makefile.vc文件中,找到46行左右的代码,如下:
BASE_INCLUDE = /INCLUDE:_GDALSimpleImageWarp@36 /
/INCLUDE:_GDALReprojectImage@48 /
/INCLUDE:_GDALComputeMedianCutPCT@32 /
/INCLUDE:_GDALDitherRGB2PCT@28 /
/INCLUDE:_OCTNewCoordinateTransformation@8 $(VB6_SAFEARRAYSYM)
修改为:
BASE_INCLUDE = /INCLUDE:$(SYM_PREFIX)GDALSimpleImageWarp /
/INCLUDE:$(SYM_PREFIX)GDALReprojectImage /
/INCLUDE:$(SYM_PREFIX)GDALComputeMedianCutPCT /
/INCLUDE:$(SYM_PREFIX)GDALDitherRGB2PCT /
/INCLUDE:$(SYM_PREFIX)OCTNewCoordinateTransformation $(VB6_SAFEARRAYSYM)
就是将后面的@开始,后面的数字删除。
现在开始编译吧。祝你成功!