最近因为实验需要,要在windows环境下利用GDAL进行开发,故尝试了一下编译GDAL。
参考链接1:http://blog.csdn.net/liminlu0314/article/details/6937194
参考链接2:http://malagis.com/win7-vs2010-gdal.html
首先在GDAL官网上找到了下载链接,得到了最新的1.11.2版本的源代码,解压到D盘。根据参考链接1的内容进行编译。
打开命令行,切换到GDAL源码目录,输入nmake -f makefile.vc命令进行编译。系统提示nmake不是内部命令或外部命令。找到VS下的工具VCVARS32.BAT,将路径(“C:\Program
Files (x86)\Microsoft Visual Studio 12.0\VC\bin”)加入到环境变量中。
重新打开命令行工具,此时运行nmake命令,系统不再报错。但是此时运行nmake -f makefile.vc会出现fatal
error C1083: 无法打开包括文件:“stdio.h”的错误。根据错误内容可以看出,是编译时没有获得c++标准库路径引起的。这里尝试将库的路径加入到环境变量中,仍然产生该错误。后依据参考链接2的内容解决了该问题。
- 在CMD中切换到目录(本机为:“C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin”),运行VCVARS32.BAT命令;
- 在CMD中切换到GDAL源码目录(“D:\gdal-1.11.2”)
- 运行命令nmake -f makefile.vc
此时系统可以正常编译。后续运行命令nmake -f makefile.vc install将gdal安装到指定目录中,并运行命令nmake
-f makefile.vc devinstall会将lib文件和include文件夹安装到指定目录下。
再次阅读参考链接1可以发现:
- 新版本的GDAL中已经没有了VisualStudio的工程文件,无法直接使用VS IDE进行编译;
- 本文操作过程中是通过打开cmd命令行进行编译的,而参考链接1中是直接打开了Visual Studio tools中的Visual Studio 2008命令提示行进行编译的,在参考链接1中应该是不会出现无法链接到c++标准库的问题的。
从编译过程中可以看出,编译过程并不复杂,但是在实际操作过程中可能会因为一些细节的地方导致难以理解的问题。
时间: 2024-10-05 12:24:52