调用编译的GDAL库,提示类似如下错误:
bian1>wangxin_code.obj : error LNK2019: 无法解析的外部符号 GDALGetDataTypeSizeBytes,该符号在函数 "public: int __cdecl GDALRasterBlock::GetBlockSize(void)const " (?GetBlockSize@GDALRasterBlock@@QEBAHXZ) 中被引用
1>wangxin_code.obj : error LNK2019: 无法解析的外部符号 GDALAllRegister,该符号在函数 main 中被引用
1>wangxin_code.obj : error LNK2019: 无法解析的外部符号 GDALOpen,该符号在函数 main 中被引用
1>wangxin_code.obj : error LNK2019: 无法解析的外部符号 GDALOpenEx,该符号在函数 "public: static class GDALDataset * __cdecl GDALDataset::Open(char const *,unsigned int,char const * const *,char const * const *,char const * const *)" (?Open@GDALDataset@@SAPEAV1@PEBDIPEBQEBD11@Z) 中被引用
1>wangxin_code.obj : error LNK2019: 无法解析的外部符号 GDALClose,该符号在函数 "public: void __cdecl GDALDatasetUniquePtrDeleter::operator()(class GDALDataset *)const " (??RGDALDatasetUniquePtrDeleter@@QEBAXPEAVGDALDataset@@@Z) 中被引用
1>wangxin_code.obj : error LNK2019: 无法解析的外部符号 CPLStrdup,该符号在函数 "public: class CPLStringList & __cdecl CPLStringList::InsertString(int,char const *)" (?InsertString@CPLStringList@@QEAAAEAV1@HPEBD@Z) 中被引用
1>wangxin_code.obj : error LNK2019: 无法解析的外部符号 CSLFindString,该符号在函数 "public: int __cdecl CPLStringList::FindString(char const *)const " (?FindString@CPLStringList@@QEBAHPEBD@Z) 中被引用
...
解决措施:程序调试选择的位数与编译的库位数不一致,由于自己调试是X64,所以编译的GDAL库也要是64位下的。这里提供VS2015+Win10环境下64位和32位编译好的GDAL库: