環(huán)境:win 10 x64 + VS2017 + GDAL2.3.2
一沃呢、下載 GDAL
進(jìn)入 GDAL 官網(wǎng)下載 GDAL 最新穩(wěn)定發(fā)行版拆挥,目前是 GDAL2.3.2纸兔。下載后解壓,假設(shè)解壓在D:\gdal
崎坊,解壓完成后進(jìn)入解壓目錄负甸。
二、修改 GDAL 配置
用文本編輯器打開解壓目錄下的nmake.opt
文件打月,建議直接使用 VS2017 打開蚕捉。
然后修改以下內(nèi)容:
- 第41行的代碼修改為:MSVC_VER=1910(1910是指 VS 版本為2017)
- 第57行的代碼修改為:GDAL_HOME = "D:\gdal"(這里就是設(shè)置安裝目錄,可以設(shè)置為任意一個(gè)方便你找得到的目錄)
- 修改第184行的代碼:原來(lái)為“# WIN64=YES”修改為“WIN64=YES”(64位環(huán)境下必須這么修改)
三秘通、編譯及安裝 GDAL
1.以管理員身份運(yùn)行 VS2017 命令行工具
2.編譯
在命令行中進(jìn)入 GDAL 目錄肺稀,在這里就是依次輸入:
cd D:\gdal
d:
nmake /f makefile.v
3.安裝
編譯結(jié)束后繼續(xù)依次執(zhí)行以下兩條命令:
- nmake /f makefile.vc install
- nmake /f makefile.vc devinstall
安裝成功的話在安裝目錄下應(yīng)該會(huì)多出bin
,data
,html
,lib
,include
幾個(gè)文件夾话原。
四、配置 VS2017
1.新建測(cè)試文件
在 VS2017 中新建一個(gè) C++ 空項(xiàng)目涉馅,新建一個(gè)源文件稚矿,貼入下面代碼:
#include "gdal_priv.h"
#include<iostream>
using namespace std;
int main()
{
const char* pszFile;
GDALAllRegister();
pszFile = "D:/test.jpg"; // 打開一個(gè)存在的圖片
GDALDataset *poDataset = (GDALDataset*)GDALOpen(pszFile, GA_ReadOnly);
GDALRasterBand *poBand = poDataset->GetRasterBand(1);
int xsize = poBand->GetXSize();
int ysize = poBand->GetYSize();
cout << xsize << endl;
cout << ysize << endl;
system("pause");
return 0;
}
這個(gè) VS 就會(huì)報(bào)錯(cuò)晤揣,提示頭文件啥的找不到默勾,所以接下來(lái)就要進(jìn)行配置。
2.配置 GDAL 引用
(1)選擇項(xiàng)目 -> 屬性 -> C/C++ -> 常規(guī) -> 附加包含目錄
滞诺,引用 GDAL 安裝目錄下的include
目錄习霹,在這里就是D:\gdal\include
炫隶。
(2)選擇
項(xiàng)目 -> 屬性 -> 鏈接器 -> 常規(guī) -> 附加庫(kù)目錄
煞檩,引用 GDAL 安裝目錄下的lib
目錄斟湃,在這里就是D:\gdal\lib
檐薯。(3)選擇
項(xiàng)目 -> 屬性 -> 鏈接器 -> 輸入 -> 附加依賴項(xiàng)
坛缕,輸入gdal_i.lib
。[圖片上傳失敗...(image-de271e-1540007869017)]
(4)因?yàn)橐?4位環(huán)境下運(yùn)行毙沾,所以要把 VS 的 debug 配置設(shè)為 X64搀军。
到此就配置完成了,按理來(lái)說(shuō) VS2017 應(yīng)該不會(huì)報(bào)錯(cuò)罩句。
3.測(cè)試
運(yùn)行測(cè)試代碼门烂,成功的話就會(huì)輸出圖片的長(zhǎng)和寬屯远。
參考: