1. 程式人生 > >GDAL在VS2015上編譯及常見錯誤分析

GDAL在VS2015上編譯及常見錯誤分析

說實話,gdal在windows上的編譯真的讓人頭疼,它有各種版本的問題,以前用vs2010編譯過一次,這次又一次搞了好久。。。。因此記錄以來,常見的錯誤點。

1. 下載gdal-2.03並解壓

a. 其他版本的應該也可以,這裡可以看一下nmake.opt檔案中是否支援vs2015
b. 開啟nmake.opt檔案,將WIN64=YES前的#去掉

2. 開啟 vs2015 命令列,這裡選擇的是x64 x86相容的那一個

這裡寫圖片描述

a.開啟到自己安裝的gdal目錄
b.分別輸入下面的命令
nmake -f makefile.vc
nmake -f makefile.vc install
nmake -f devinstall

這個地方是非常容易出錯的,往往令人頭疼的。

  1. 配置VS

a. 開啟VS選擇空專案,控制檯應用程式
b. 開啟屬性介面,新增C:\warmerda\bld\include檔案,如下圖所示,在C/C++常規中新增附加包含目錄, 也就是上面編譯出來的檔案,預設在c:/warmerda中.
c. 在聯結器的常規中新增附加庫目錄C:\warmerda\bld\lib
d. 同樣l連結器的輸入專案在附加依賴項中新增gdal_i.lib

這裡寫圖片描述

完成後新增如下程式碼測試:

#include "gdal_priv.h"
#include<iostream>
using
namespace std; int main() { GDALAllRegister(); const char* pszFile = "cute.jpg"; GDALDataset *poDataset = (GDALDataset*)GDALOpen(pszFile, GA_ReadOnly); if (poDataset == nullptr) cout << "can not open file" << endl; cout << poDataset->GetRasterXSize() << ","
<< poDataset->GetRasterYSize() << endl; system("pause"); return 0; }

注意事項:

  1. 將vs模式改為Debug版本64位。
  2. 如果說缺少dll檔案,其在C:\warmerda\bld\bin將其複製到專案下的exe型別的檔案目錄中。

執行,如果不出錯,則完成配置。