參考:html
https://blog.csdn.net/weixin_42141589/article/details/94357199sql
https://trac.osgeo.org/gdal/wiki/BuildingOnWindows#BasicOptionsvisual-studio
https://blog.csdn.net/qq_32153213/article/details/81363588ui
https://blog.csdn.net/qq_36271561/article/details/107082578spa
一、下載並安裝Visual Studio Community 2019:https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=16;.net
二、下載並安裝CMake 3.19.0(cmake-3.19.0-rc1-win64-x64.msi):https://cmake.org/download/,Install Options勾選Add CMake to the system PATH for all users,安裝完成後打開命令提示符輸入 cmake --version 驗證配置是否成功;code
三、下載庫到各自的目錄並解壓:sqlite
GDAL 3.1.4:https://gdal.org/download.html;htm
PROJ 6.3.2:https://proj.org/download.html;blog
SQLite 3.33.0(Source Code下的sqlite-amalgamation-3330000.zip,和Precompiled Binaries for Windows下的sqlite-dll-win64-x64-3330000.zip和sqlite-tools-win32-x86-3330000.zip):https://www.sqlite.org/download.html;
四、編譯SQLite庫:
在SQLite目錄下建立空項目並添加sqlite3.h
、sqlite3ext.h
、sqlite3.c
、sqlite3.def
;
右鍵點擊項目-屬性,配置選擇全部配置,平臺選擇全部平臺,點擊配置屬性-常規-配置類型-靜態庫(.lib);
點擊
C/C++-預處理器-預處理器定義-編輯添加:
_USRDLL
SQLITE_ENABLE_RTREE
SQLITE_ENABLE_COLUMN_METADATA
SQLITE_ENABLE_FTS5
SQLITE_ENABLE_UNLOCK_NOTIFY
點擊連接器-輸入-模塊定義文件-添加sqlite3.def,
點擊應用-肯定;
修改模塊定義文件sqlite3.def:在最後追加sqlite3_unlock_notify;
選擇配置Release、平臺x64,點擊生成-生成解決方案以生成靜態庫SQLite.lib;
在SQLite目錄下分別建立include、
lib
和bin
文件夾,將SQLite.lib放入lib
文件夾中,將sqlite3.h
、sqlite3ext.h
放入include文件夾
中,將sqlite-tools-win32-x86-3330000文件夾中的sqlite3.exe
放入bin文件夾
中。
五、編譯PROJ庫:
在PROJ目錄下建立build文件夾,打開CMake在源碼位置中打開proj-6.3.2文件夾,在建立位置中打開build文件夾;
點擊Configure,選擇Visual Studio 16 201九、x64,點擊Finish;
配置會出現錯誤,找到EXE_SQLITE3
、SQLITE3_INCLUDE_DIR
和SQLITE3_LIBRARY
三個屬性分別賦值SQLite3.exe
、include
和SQLite3.lib的
路徑,賦值CMAKE_INSTALL_PREFIX屬性爲文件生成目錄,點擊Configure,完成提示Configuring done,點擊Generate,完成提示Generating done,此時build文件夾裏存在PROJ4.sln;
打開x64 Native Tools Command Prompt for VS 2019:
cd d:/PROJ/build
msbuild ALL_BUILD.vcxproj /p:Configuration="Release"
msbuild INSTALL.vcxproj /p:Configuration="Release"
六、編譯GDAL庫:
使用Visual Studio 2019打開nmake.opt文件修改並保存:
在第42行,改成MSVC_VER=
1920(
VS2019版本應該爲1920及以上,視本身編譯器而定);
在第66行,改成GDAL_HOME=
生成文件的路徑;
在第207行,改成WIN64=YES
(若是不生成64位版本則註釋本行);
在第234行,改成DLLBUILD=0進行靜態編譯(動態編譯則
爲1);
在第254行,找到PROJ_INCLUDE、
PROJ_LIBRARY,
分別設置爲PROJ的include
和lib
文件夾(PROJ_INCLUDE=
-I
後爲路徑),並修改.lib的名字;
在第642行,找到SQLITE_INC、
SQLITE_LIB,
路徑設置同上;
打開x64 Native Tools Command Prompt for VS 2019:
cd d:/GDAL/gdal-3.1.4
nmake /f makefile.vc (Debug版添加DEBUG=1)
nmake /f makefile.vc devinstall
七、在Visual Studio 2019項目中配置GDAL庫:建立Visual Studio 2019空項目,配置選擇全部配置,平臺選擇全部平臺,右鍵點擊項目-屬性-
C/C++-附加包含目錄-編輯添加GDAL的include文件夾路徑,點擊連接器-附加庫目錄-編輯添加GDAL的lib文件夾路徑,點擊連接器-輸入-附加依賴項-編輯添加gdal.lib,
點擊應用-肯定,選擇配置Release、平臺x64便可運行程序。