【已解決】安裝gdal1.10.0過程

環境 

Win7 x64,VS2015,gdal1.10.0

說明:本教程適用於gdal1.10.0,其他gdal版本僅供參考。
本教程已在Win7 32位系統、Win10 64位系統上測試通過。

準備

下載gdal1.10.0
官網下載:https://gdal.org/ (1.10.0版本需從github倉庫中下載)
第三方下載:https://trac.osgeo.org/gdal/wiki/DownloadSource
CSDN下載:https://download.csdn.net/download/wingrez/12532129

下載完成解壓之後,在根目錄下找到nmake.opt,打開它修改其中的GDAL_HOME路徑,比如
GDAL_HOME = "D:\software\gdal-1.10.0\bld"

安裝過程

1、打開“VS2015 x86 本機工具命令提示符”;
2、在命令行中使用cd命令進入gdal目錄;
3、依次執行如下3條命令:

nmake /f makefile.vc 
nmake /f makefile.vc install
nmake /f makefile.vc devinstall

注意:在每條命令執行完成後,沒有ERROR,再執行下一條命令。如果有ERROR,可以參考下文的問題解決。解決完問題之後,重新執行該條命令。

4、此時可以看見在GDAL_HOME路徑下,生成了一些文件,如bin、include、lib。

問題解決

問題:warning C4005: “snprintf”: 宏重定義
解決:在gdal目錄下的port文件夾中找到cpl_config.h,修改其中的snprintf定義,修改後的結果如下加粗部分

#define HAVE_VPRINTF 1
#define HAVE_VSNPRINTF 1
#define HAVE_SNPRINTF 1
#if defined(_MSC_VER) && (_MSC_VER < 1500)
# define vsnprintf _vsnprintf
#endif
// #define snprintf _snprintf
# if defined(_MSC_VER) && (_MSC_VER < 1900)
# define snprintf _snprintf
# endif

問題:odbccp32.lib(dllload.obj) : error LNK2019: 無法解析的外部符號 __vsnwprintf_s,該符號在函數 _StringVPrintfWorkerW@20 中被引用
解決:在gdal目錄下,修改nmake.opt文件中的ODBCLIB,修改後的結果如下粗體部分
ODBCLIB = legacy_stdio_definitions.lib odbc32.lib odbccp32.lib user32.lib

如果仍有其他問題,可在評論區留言。

在VS中使用 

1、在項目屬性中VC++目錄中,添加包含目錄和庫目錄,比如:
包含目錄:D:\software\gdal-1.10.0\bld\include;
庫目錄:D:\software\gdal-1.10.0\bld\lib;

2、在項目屬性中鏈接器->輸入中,添加附加依賴項:
附加依賴項:gdal_i.lib;

3、如果提示未找到gdal110.dll,那麼將gdal安裝後生成的bin目錄下的gdal110.dll文件複製到項目的Debug目錄下。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章