https://blog.csdn.net/sunriver2000/article/details/105601627
编译流程参考自:https://blog.csdn.net/sunriver2000/article/details/105601627
GDAL官方教程:https://trac.osgeo.org/gdal/wiki/BuildingOnWindows
64位注意事项参考自:https://blog.csdn.net/q_l_s/article/details/52468354
前言
GDAL库的64位和32位编译方式略有不同,涉及到修改配置文件的内容,但整体操作流程一至,因此第一部分描述了编译GDAL库的完整过程,编译产物为32位的库,第二部分阐述编译64位时需要针对第一个部分进行哪些修改。
GDAL库的编译流程(32位)
GDAL2.2.4代码仓库及下载地址:
解压后进入“gdal文件夹”:
打开“Visutal Studio命令提示工具(2010)”,cd到这个目录下
在开始菜单可以找到这个工具,或者直接打开命令行输入以下命令启动VS的命令提示工具:
1 | "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 |
运行以下命令进行编译
1 | nmake /f makefile.vc |
编译完成后,进行安装
一、首先设置安装目录,打开文件“nmake.opt”,找到字段GDAL_HOME
,改成自定义的目录:
GDAL_HOME = "D:\gdal\gdal-2.2.4\gdal\install"
(绝对路径,相对路径会报错)
二、运行命令进行安装:nmake /f makefile.vc install
,该命令执行完成后,安装文件夹出现“bin”、“data”、“html”文件夹
三、运行命令:nmake /f makefile.vc devinstall
,执行完成后安装文件夹出现“include”和“lib”文件夹
编译64位的注意事项
如果已经将源代码编译生成了一次32位的库,那么建议将生成的文件拷贝保存后将源码文件删除,重新解压一份未编译的源码来生成64位。
编译64位需要使用另一个工具:“Visual Studio x64 Win64 命令提示(2010)”,在这个工具中使用nmake
生成的库就是64位的。或者在命令行输入以下命令来启动工具:
1 | "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" amd64 |
如果直接在这个工具中进行编译,会产生如下错误提示
1 | 正在创建库 gdal_i.lib 和对象 gdal_i.exp |
解决方法:
打开“nmake.opt”,找到SYM_PREFIX=_
,将其下划线去掉改成SYM_PREFIX=
打开“makefile.vc”,找到
1 | BASE_INCLUDE = /INCLUDE:_GDALSimpleImageWarp@36 \ |
去掉下划线和@数字
,加上前缀(这部分代码下面有一个一样的,直接拷贝上来也行,省得一个个改)
1 | BASE_INCLUDE = /INCLUDE:$(SYM_PREFIX)GDALSimpleImageWarp \ |
改完文件,继续执行三次编译和生成的命令,即可完成64位库的编译。