编译gdal
- 修改nmake.opt中“MSVC_VER=xxxx”,其中xxxx为vc++版本;
- 修改nmake.opt中“GDAL_HOME=“xx””,其中xx为编译gdal的目标路径;
- 放开nmake.opt中“#WIN64=YES”的注释,表示编译64位库;
- 如果gdal版本2.1以下,则到此结束;如果gdal版本>=2.2且<3.0,那么需要将gcore/gdaloverviewdataset.cpp拷贝到ctb的src文件夹下;如果gdal版本>=3.0,还需下载sqlite3和proj6+进行编译。
编译zlib
使用vs打开.\contrib\vstudio文件夹下对应版本工程编译即可,r如果vs版本高于文件夹中项目版本,可直接打开进行转换。
如果报类似如下错误
Severity Code Description Project File Line Suppression State
Error MSB3073 The command "cd ..\..\contrib\masmx64
bld_ml64.bat
:VCEnd" exited with code 9009. zlibvc C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets 123
需要在zlibvc项目属性中选择Build Event(生成事件),点击Pre-Build Event(预先生成事件),会看到Command Line(命令行)中有错误提示所示的命令行,可修改位能正确找到bld_ml64.bat文件的命令行,例如
E:
cd E:\zlib\contrib\masmx64
bld_ml64.bat
编译ctb
如果在编译gdal的步骤中拷贝了gdaloverviewdataset.cpp到src文件夹中(如果没有拷贝文件的步骤,将会报错,因为在gdal>=2.2 ❤️.0的版本中没有导出GDALCreateOverviewDataset函数GDALCreateOverviewDataset missing since gdal-2.2 #413),那么需要将其添加到CMakeLists.txt文件中,然后利用cmake生成vs工程进行编译。