GDAL源碼編譯


轉自阿FaiGDAL源碼編譯

 

在這里,我使用源碼編譯出C#可以使用的dll靜態文件。

一、簡單的編譯

1、簡單的認識

      首先進入GDAL的源代碼目錄,可以看到有幾個sln為后綴的文件名,比如makegdal10.sln,makegdal80.sln,makegdal71.sln,makegdal90.sln 。這些文件是VisualStudio的工程文件,后面的數字對應的VS的版本號,71表示的VS2003,80表示VS2005,90表示VS2008,還有10表示VS2010等。根據自己電腦安裝的VS版本,打開對應的文件,如下圖所示(使用VS2008SP1版本,打開makegdal90.sln文件):

 

2、使用cmd命令行編譯

在操作之前,需要說明點的是,gdal源碼在至少1.7.0版本之前都出現的錯誤

修改Gdal中的bug,Source Files\leveller\levellerdataset.cpp文件171行

{ “?, kPI / 180.0, UNITLABEL_DEGREE },將“ “? ”修改為“ ”? “ ”,保存;

1.9.0不存在這樣的毛病。

1)使用cmd命令行編譯,首先在“開始菜單\所有程序\Microsoft Visual Studio 2008\Visual Studio Tools\ Visual Studio 2008命令提示”,點擊“Visual Studio 2008 命令提示”會彈出下面的界面:

2)然后使用cd命令,切換到GDAL的源代碼目錄,如下圖所示:

3)切換到GDAL的源代碼目錄后,依次敲入下面的命令行后回車,等待編譯結束即可。

nmake -f makefile.vc

nmake -f makefile.vc install

nmake -f makefile.vc devinstall

 

同時還有其他的命令,如:

nmake -f makefile.vc clean

nmake -f makefile.vc MSVC_VER=1400clean

nmake -f makefile.vc MSVC_VER=1400DEBUG=1

這三條命令可以不用管。

 

上面六行的命令含義依次是:

編譯GDAL庫

編譯GDAL庫,並安裝(這里安裝的意思就是將生成的dll,exe等文件拷貝到C:\warmerda\bld目錄),

編譯GDAL庫,並安裝開發者模式(安裝的意思同上,開發者模式意思是將開發用的include文件夾中的頭文件和lib文件一同拷貝到C:\warmerda\bld目錄,此時會在C:\warmerda\bld目錄中多出來兩個文件夾,分別是include和lib,分別存放的是GDAL的頭文件和lib文件,用於調用GDAL庫使用)。

清理GDAL庫,同時會刪除編譯GDAL庫所生成的臨時文件,作用相當於在VS環境中的清理命令。

作用同上,但是添加了一個MSVC_VER=1400,表示使用VS2005編譯。

編譯GDAL庫的debug模式,可以用來調試GDAL源碼。

 

4)在此之后

鍵入“cd C:\gdal-1.5.0\swig\csharp”,進入C#源文件所在的文件夾。當然,如果你文件夾位置不是這里,便需要更換地址。

鍵入“nmake /f makefile.vc”,編譯完后生成8個DLL文件,連同之前在c盤會生成warmerda\bld\bin里面也能找到一個DLL共九個。

 

 

 

至此,九個DLL便全部出現。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM