首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

VC++2012 編譯安裝 GDAL 1.11.0 完整圖文教程與入門實例

     編輯:關於C++

資源準備

所需文件下載地址:百度網盤,包含:

  • gdal1110.zip - GDAL 1.11.0 源碼
  • gdal1.rar - 入門示例工程
  • GDAL.rar - 編譯成功後的輸出文件 (供參考)
  • GDAL書籍代碼及數據.rar - 學習資料

編譯環境設置

  1. 打開 Visual Studio 2012 命令提示 (或運行 vcvars32.bat):
    D:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat
    vcvars32.bat 路徑
  2. 切換到 GDAL 源碼解壓目錄 (如 D:\gdal-1.11.0)。

編譯核心庫

執行命令:

nmake /f makefile.vc

編譯過程約 10-20 分鐘,輸出大量信息,最終無錯誤即成功。

編譯過程1 編譯過程2 編譯過程3 編譯過程4 編譯完成

配置安裝目錄並安裝

  1. 編輯 nmake.opt,修改 GDAL_HOME 為安裝路徑 (如 D:\GDAL):
    GDAL_HOME = "D:\GDAL"
    需先手動創建該目錄。
  2. 依次執行安裝命令:
    nmake /f makefile.vc install
    nmake /f makefile.vc devinstall
    install過程 devinstall過程
  3. 安裝成功後目錄結構: 安裝目錄1 安裝目錄2 包含 bin (DLL/EXE)、include (頭文件)、lib (庫文件)、data (投影/數據文件)。

創建入門示例工程

  1. 新建 Win32 控制台應用程序。
  2. 項目屬性配置:
    • 包含目錄:添加 D:\GDAL\include
    • 庫目錄:添加 D:\GDAL\lib
    • 附加依賴項:添加 gdal_i.lib
    包含目錄 庫目錄與依賴項
  3. 將 gdal111.dll 複製到工程輸出目錄 (或系統 PATH 路徑)。

測試代碼

#include "stdafx.h"
#include <gdal_priv.h>
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[]) {
    GDALDataset *poDataset;
    GDALAllRegister(); // 註冊所有驅動
    
    poDataset = (GDALDataset*) GDALOpen("mosaic.tif", GA_ReadOnly);
    if (poDataset != NULL) {
        cout << "RasterXSize: " << poDataset->GetRasterXSize() << endl;
        cout << "RasterYSize: " << poDataset->GetRasterYSize() << endl;
        cout << "RasterCount: " << poDataset->GetRasterCount() << endl;
        GDALClose((GDALDatasetH)poDataset);
    } else {
        cout << "無法打開文件,請確認 mosaic.tif 存在於工作目錄。" << endl;
    }
    getchar();
    return 0;
}

運行結果

運行輸出

輸出顯示圖像寬度、高度、波段數,說明 GDAL 環境配置成功。測試數據 mosaic.tif 可從下載包中獲取。

常見問題與避坑指南

  • 編譯錯誤:確保使用 VS2012 原生命令提示,環境變量正確。
  • 缺少頭文件:devinstall 步驟不可省略,它複製頭文件到 include 目錄。
  • 運行時找不到 DLL:將 bin 目錄加入系統 PATH,或將 DLL 複製到 EXE 同級目錄。
  • 數據文件路徑:GDAL 需要 gdal_data 環境變量指向 data 目錄,或將投影文件複製到工作目錄。
  • 版本兼容:GDAL 1.x 與 2.x API 有差異,本教程針對 1.11.0。

完成以上步驟,您已擁有可在 VC++2012 中使用的 GDAL 開發環境,可進行栅格/矢量數據讀寫、投影轉換、格式轉換等地理空間數據處理開發。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved