轉載:http://malagis.com/win7-vs2010-gdal.htmlhtml
近的一個VS2010的項目中用到了GDAL,關於GDAL這個庫的說明與讚美,這裏就不贅述了,下面是在VS2010中配置GDAL的詳細過程。windows
Win7(32位/64位),VS2010,GDAL 1.10.1(截止本文發佈的最新版),進行下面的操做以前,請確保您已經正確安裝了VS2010,步驟以下:編輯器
點擊進入GDAL的官方下載頁面,根據須要選擇不一樣的版本,根據測試以前的GDAL1.9.1 0日後的版本都可以按照本文的方法編譯成功。下載完成後解壓到一個根目錄下,由於這樣後面的操做會比較方便,本文所解壓的地址爲工具
D:\gdal-1.10.1
若是你解壓的地址跟本文不一樣,能夠按照實際狀況作出修改。測試
以管理員身份運行cmd,(您能夠在開始菜單搜索cmd,而後右擊選擇用管理員身份運行,也能夠在C:\windows\system32下找到cmd.exe右擊選擇採用管理員身份運行),如圖:spa
而後在cmd中切換到VS2010的安裝目錄,例如本文中的是操作系統
C:\program files\Microsoft Visual Studio 10.0\VC\bin
執行VCVARS32.BAT,如圖:.net
在cmd中切換目錄到命令行
D:\gdal-1.10.1
目錄下,運行以下命令htm
nmake /f makefile.vc
編譯過程可能須要幾分鐘,根據系統的配置而定,如圖
找到下載目錄中的nmake.opt文件,例如本文的中的文件路徑爲:
D:\gdal-1.10.1\nmake.opt
用文本編輯器(建議使用現代化文本編輯器例如notepad++)打開修改GDAL_HOME的值爲安裝目錄。本文中使用的目錄以下:
GDAL_HOME = "D:\GDAL"
如圖:
回到CMD界面,切換到解壓目錄(本文的是D:\gdal-1.10.1)下,執行以下兩條命令:
nmake /f makefile.vc install nmake /f makefile.vc devinstall
如圖所示:
先執行nmake /f makefile.vc install
再執行nmake /f makefile.vc devinstall
等待一段時間以後,GDAL就算真正的編譯完成了,這時候打開步驟4中設置的安裝目錄,須要的東西就在裏面了,有bin,data,html,lib,include幾個文件夾。如圖所示:
安裝完成之後須要在VS2010的項目中配置GDAL,具體方法情看:VS2010中項目配置引入GDAL
Windows下,cmd定位至gdal目錄,運行makegdal_gen.bat生成.vcproj,而後打開生成便可;Linux下,terminal定位至gdal目錄,運行./configure,而後運行make命令便可,如需安裝,運行sudo make install。 來自@hao,也能夠測試下。
文章二:編譯C#版GDAL-1.11.1(含GEOS,PROJ,HDF)
轉載:http://blog.csdn.net/u010771437/article/details/41477333
C#版GDAL-1.11.1編譯(含GEOS,PROJ,HDF)
——2014.11.25霍少峯
這裏選擇的版本是:gdal-1.11.1.tar.gz、geos-3.4.2.tar.bz二、proj-4.8.0.tar.gz、swigwin-3.0.二、HDF4.2.6_win_x64.zip和HDF5-1.8.7_win_x64.zip。本機爲64位Win7操做系統。
首先在http://trac.osgeo.org/gdal/wiki/DownloadSource下載http://download.osgeo.org/gdal/1.11.1/gdal-1.11.1.tar.gz - source as .tar.gz( md5)
而後解壓,我將解壓的文件放在了C盤,即C:\gdal-1.11.1。
這裏我使用cmd命令行方法進行編譯。
首先以管理員身份運行方式打開「Visual Studio x64兼容工具命令提示(2010)」命令,以下圖1:
圖1
而後使用cd命令(沒用過的請百度一下,挺有用的),切換到GDAL的源代碼目錄(C:\gdal-1.11.1),以下圖2:
圖2
接着修改gdal1.11.1文件夾裏面的nmake.opt文件的「#WIN64=YES」爲WIN64=YES,而後依次輸入下面的命令後回車,等待編譯結束。
nmake –f makefile.vc
(上面的意思是編譯GDAL庫)
nmake –f makefile.vc install
(上面的意思是編譯GDAL庫並安裝,安裝的意思是將生成的dll、exe等文件複製到C:\warmerda\bld目錄)
nmake –f makefile.vc devinstall
(上面的意思是編譯GDAL庫並安裝開發者模式,安裝的意思同上,開發者模式意思是將開發用到的include文件夾中的頭文件和lib文件一同複製到C:\warmerda\bld目錄,此時會在C:\warmerda\bld目錄中添加兩個文件夾,分別是include和lib,分別存放GDAL的頭文件和lib文件,用於調用GDAL庫)
經過以上的過程就完成了編譯GDAL庫。並且會在C盤生成以下內容,如圖3:
圖3
下面集成GEOS和PROJ.4
爲了集成GEOS和PROJ.4,須要先在網上下載壓縮包,而後解壓,編譯,編譯好之後再修改gdal-1.11.1的nmake.opt文件從新編譯一次gdal。
首先從 http://download.osgeo.org/proj/proj-4.8.0.tar.gz下載proj-4.8.0,而後解壓(我一樣是 C:\proj-4.8.0)
再次以管理員身份運行「Visual Studio x64兼容工具命令提示(2010)」,使用cd命令切換到C:\proj-4.8.0,如圖4:
圖4
而後輸入如下兩個命令:
nmake /f makefile.vc ( 如圖5)
圖5
nmake /f makefile.vc install-all (如圖6.1,6.2)
圖6.1
圖6.2
編譯完成後會在C盤生成一個PROJ目錄(圖7):
圖7
而後就能夠修改gdal-1.11.1裏面的nmake.opt爲(圖8):
圖8
接着按照最上面編譯GDAL的方法從新編譯一次GDAL,這樣編譯出來的GDAL就集成了PROJ.4庫,支持投影轉換等功能。或者直接將PROJ.4庫編譯出來的dll複製到GDAL的dll所在的目錄也行。下圖9是從新編譯成功GDAL庫的結果:
圖9
下面實現集成GEOS庫
一樣先下載:http://download.osgeo.org/geos/下載 geos-3.4.2.tar.bz2
而後解壓到C:\ geos-3.4.2
再次以管理員身份運行「Visual Studio x64兼容工具命令提示(2010)」,使用cd命令切換到C:\geos-3.4.2(圖10):
圖10
而後輸入如下兩個命令:
autogen.bat (圖11)
圖11
nmake /f makefile.vc (圖12)
圖12
這樣編譯完成GEOS後,src目錄下會生成GEOS庫的lib和dll文件(圖13):
圖13
而後就能夠如同PROJ.4那樣從新編譯GDAL庫了,修改gdal-1.11.1的nmake.opt爲:
注意,這時若是仍然按照李民錄老師的博客或書上所寫的以下圖14所示是行不通的。
圖14
應該修改成圖15所示(由於GEOS庫發生了變化,原來的source變成了src,而且裏面沒有headers這一個文件夾了,裏面的內容所有放到外面的一個include文件夾裏面了):
圖15
這樣編譯出來的GDAL就集成了GEOS庫,支持矢量圖形空間操做等功能,從新編譯結果以下圖16:
圖16
編譯完成後,須要將geos_c.dll文件複製到gdal111.dll的同級目錄下,不然會提示找不到geos_c.dll。
下面實現集成HDF數據讀取
首先仍須要下載:http://www.hdfgroup.org/downloads/,而後分別轉到http://www.hdfgroup.org/ftp/HDF5/releases/和http://www.hdfgroup.org/ftp/HDF/prev-releases/。經過上面兩個連接,選擇相應版本、bin、windows而後選擇相應的進行下載
下載編譯好的HDF4和HDF5的庫。這裏下載的是HDF4.2.6_win_x64.zip和HDF5-1.8.7_win_x64.zip。
修改gdal-1.11.1的nmake.opt以下圖17:
圖17
而後就能夠從新編譯GDAL庫了,結果以下圖18:
圖18
同時,將HDF庫中的dll文件夾下的dll文件複製到gdal111.dll的同級目錄下。
下面編譯C#版本的GDAL
這裏要用到SWIG,到http://www.swig.org/download.html下載。注意,這裏應該下載文件:swigwin-3.0.2.zip,而不是源代碼:swig-3.0.2.tar.gz,
而後解壓,位於(如圖19):
圖19
而後就須要將解壓目錄加到環境變量Path中,不然後面須要設置SWIG的所在目錄(圖20)。
圖20
檢驗SWIG是否成功設置到環境變量Path中的辦法是:在運行中輸入swig後回車,會有一個黑屏一閃而過。
(注意,若是成功設置了環境變量,gdal-1.11.1的nmake.opt就不需再修改了,若是沒有成功設置環境變量,則需將下圖21第三行改成「SWIG=C:\SWIG\swigwin-3.0.2\swig.exe」)
圖21(成功設置了環境變量,不需修改)
而後就能夠按照最上面的方法(3個命令)從新編譯GDAL了。
執行完後,接着使用cd命令,進入swig\csharp文件夾中並使用nmake工具編譯,命令以下:
cd swig\csharp (圖22)
圖22
nmake /fmakefile.vc
nmake /fmakefile.vc install
結果如圖23
圖23
執行完後,系統會在csharp文件夾下生成8個dll文件,這時咱們把這8個dll文件複製到GDAL輸出目錄下的csharp文件夾中。
這樣就能夠在C#項目中調用GDAL庫了。
至此,編譯完成。
注意1:
在我後面繼續編譯GDAL的時候,使用了swigwin-3.0.5轉換成C#版,出現了以下問題:
和
的問題,解決方法是從新下載了低版本的swigwin-1.3.36,並寫進了環境變量中,而後就能夠編譯經過了(若是出現了像「注意2」中的問題,則能夠參考其解決方法)。
注意2:
在編譯C#版本的GDAL時出現了
以下圖24所示的問題,而後先nmake /f makefile.vc clean,再繼續
圖24
而後又出現了以下圖25所示的問題,而後經過以下interface解決了:
圖25
按照一樣的方式,咱們能夠經過修改配置文件使GDAL支持NetCDF,Oracle等。
注意,上述過程當中使用 -f或者/f效果都是同樣的
完!