GDAL在VS2015上編譯及常見錯誤分析
阿新 • • 發佈:2019-02-01
說實話,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
這個地方是非常容易出錯的,往往令人頭疼的。
- 配置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;
}
注意事項:
- 將vs模式改為Debug版本64位。
- 如果說缺少dll檔案,其在
C:\warmerda\bld\bin
將其複製到專案下的exe型別的檔案目錄中。
執行,如果不出錯,則完成配置。