Windows 10下基於Visual Studio 2019編譯配置GDAL 3.1.4


參考:

https://blog.csdn.net/weixin_42141589/article/details/94357199

https://trac.osgeo.org/gdal/wiki/BuildingOnWindows#BasicOptions

https://blog.csdn.net/qq_32153213/article/details/81363588

https://blog.csdn.net/qq_36271561/article/details/107082578

1、下載並安裝Visual Studio Community 2019:https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=16

2、下載並安裝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 驗證配置是否成功;

3、下載庫到各自的目錄並解壓:

GDAL 3.1.4:https://gdal.org/download.html

PROJ 6.3.2:https://proj.org/download.html

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

4、編譯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文件夾中。

5、編譯PROJ庫:

在PROJ目錄下創建build文件夾,打開CMake在源碼位置中打開proj-6.3.2文件夾,在創建位置中打開build文件夾;

點擊Configure,選擇Visual Studio 16 2019、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"

6、編譯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

7、在Visual Studio 2019項目中配置GDAL庫:創建Visual Studio 2019空項目,配置選擇所有配置,平台選擇所有平台,右鍵點擊項目-屬性-C/C++-附加包含目錄-編輯添加GDAL的include文件夾路徑,點擊鏈接器-附加庫目錄-編輯添加GDAL的lib文件夾路徑,點擊鏈接器-輸入-附加依賴項-編輯添加gdal_i.lib,點擊應用-確定,選擇配置Release、平台x64即可運行程序。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM