下面介绍GDAL2.1.1源码在windows vs2017中的编译步骤:
1. 从http://trac.osgeo.org/gdal/wiki/DownloadSource下载最新稳定版本2.2.3,gdal223.zip并解压缩至D:\Code\gdal\src目录下;
2. 修改nmake.opt文件: MSVC_VER=1910 GDAL_HOME = "D:\Code\gdal\build\gdal-2.2.3"
“GDAL_HOME” 的路径 为 后续编译的成果存放地点。( 所以...可以自己改 也可以不改....只要找的到就好)
3. 以管理员身份打开”VS2017 x86_x64 兼容工具命令提示”;
4. 首先切换到VS2017的安装目录下执行:
C:\Program Files (x86)\Microsoft Visual Studio12.0\VC\vcvarsall.bat amd64; 效果等同于直接在VS2017 x64本机工具命令窗口中编译;
解释:如果要在命令行生成 32位代码,就执行vcvarsall x86
如果要在32位系统下生成64位代码,就执行vcvarsall x86_amd64
如果要在64位系统下生成32位代码,就执行vcvarsall x86或vcvarsall amd64_x86
通过在纯“命令提示符”窗口中运行 vcvarsall.bat,可设置环境变量以配置适用于 32 位或 64 位本机编译的命令行,或适用于面向 x86、x64 或 ARM 处理器的交叉编译的命令行。 如果未提供任何参数,vcvarsall.bat 将配置环境变量以供使用面向 x86 的 32 位本机编译器。 但是,你可以用该编译器来配置所有的编译器。 如果指定在生成计算机体系结构上未安装或不可用的编译器配置,将会显示一条消息。 下表显示了支持的参数。
---------------------
5. 然后切换到GDAL源码目录D:\Code\gdal\source\gdal-2.2.3下依次执行:
nmake /f makefile.vc MSVC_VER=1910 WIN64=1 (该步不报错就代表执行完了)
nmake /f makefile.vc MSVC_VER=1910 WIN64=1 install
nmake /f makefile.vc MSVC_VER=1910 WIN64=1 devinstall
6. 按照以上类似步骤即可生成x64 debug相应库:
nmake /f makefile.vc MSVC_VER=1910 WIN64=YES DEBUG=1
另外,MSVC_VER对应的版本如下:
MSVC_VER=1910 VS2017
MSVC_VER=1900 VS2015
使用方法:
编译安装完成会有三个有用的文件夹,/bin /lib /include,在工程中引用方法是
右键项目》属性》配置属性》C/C++》常规》附加包含目录,输入include文件夹路径
配置属性》链接器》常规》附加库目录,输入lib文件夹路径
配置属性》链接器》常规》附加依赖项,输入gdal_i.lib;
在程序文件夹下放入bin文件夹中的gdalxxx.dll,即引入成功。
按照上面的步骤只能生成相应的库,确不能生成vc工程,下面介绍下能生成vc工程的操作步骤:
打开vs2017,将其makegdal10.vcproj加入到工程中,