VS2017编译32位或64位GDAL3.0.2+FileGDB1.5.1+geos3.7.3+proj6 2.1+SQLite3.30.1
2.1+SQLite3.30.1)
编译库下载与准备
一个编译好的gdal结合各种库的网站:https://www.gisinternals.com/archive.php
各个编译库以及组件的下载:
GDAL:https://gdal.org/download.html#current-releases
FileGDB1.5.1-VS2017:https://github.com/Esri/file-geodatabase-api/tree/master/FileGDB_API_1.5.1
geos:http://download.osgeo.org/geos/
proj:https: //proj.org/download.html
SQLite: https://www.sqlite.org/download.html
Swig:http://www.swig.org/survey.html
CMake:https://cmake.org/download/
先安装Cmake,安装时选择自动配置路径。没有自动配置环境变量的,参考:https://jingyan.baidu.com/article/19192ad8dfa3d8e53e5707c8.html
再将要进行集成编译的组件统一解压到一个文件夹。类似下图:
静态编译SQLite3和Proj6库
可参考 https://blog.csdn.net/weixin_42141589/article/details/94357199
要注意的是按照上述方法编译debug版时的命令有变化
命令行为:
//这是cd到poj6的目录时编译Debug版的代码
msbuild ALL_BUILD.vcxproj /p:Configuration="Debug"
msbuild INSTALL.vcxproj /p:Configuration="Debug"
//这是编译Debug版GDAL时的命令行
nmake /f makefile.vc DEBUG=1
nmake /f makefile.vc devinstall DEBUG=1
编译Geos库
由于Geos最新版3.8.0要用CMake进行编译,而我编译时出现了错误,于是使用了Nmake的3.7.3版来进行编译,貌似稳定性挺好。
参考链接:https://blog.csdn.net/sx341125/article/details/100052400(讲述很清晰)
https://blog.csdn.net/charlee44/article/details/86744035(这个讲述了怎么编译Debug版和Release版)
Geos库的编译简单
生成过程:
1.运行autogen.bat
该文件生成一些版本相关头文件
2.使用vs2017命令行工具
以管理员身份运行。图示是编译版本为32位的库,于是使用x86的工具命令行。
3.按照下列步骤运行:
cd C:\Users\Administrator\Desktop\32\geos-3.7.3
nmake -f makefile.vc //这默认生成Release版
nmake -f makefile.vc DEBUG=1 // //生成Debug版使用这个命令
修改
因为使用的是3.7.3,VS2017现在更新的版本在预置的库里已经没有对应版本了,不对nmake.opt进行修改的话,会导致编译异常。