vs2013下使用GDAL

注:vs2013編譯GDAL  參考:http://blog.csdn.net/youzhuo/article/details/37930071


項目需要使用GDAL讀 tiff 文件,本來實驗室有人已經用了GDAL1.4.2版本的,他那邊直接編譯過了,以爲可以直接考過來用,結果編譯的時候沒有問題,都通過了

但是運行的時候就出現了錯誤 error c2732: 鏈接規範與“_copysign”的早期規範衝突, error C2733 "_copysign": 不允許重載函數的第二個C鏈接

然後百度了一下,都是說要在函數前面加上 extent  “C”” 之類的,但是問題是“_copysign”是庫文件“ math.h”中的函數,這個是沒法改的,於是就只能尋找其他方法了

首先想到的是可能實驗室小夥伴用的是“ vs2010”編譯的,這裏可能不兼容我的"vs2013",於是下載了GDAL1.4.2源碼來使用“vs2013”編譯,結果編譯的時候就出錯了,錯誤正是“ error c2732: 鏈接規範與“_copysign”的早期規範衝”

這時我想因該是我的編譯器版本比較新,而GDAL1.4.2是2007年的老版本了,於是重新下載了最新版GDAL201,仍然用“VS2013”進行編譯,這次就順順利利完成了

編譯完了,在原來的工程中配置了新編譯安裝好的GDAL2.0.1,問題就消失了,配置的時候仍然是配置 包含目錄,庫目錄, 環境變量三個部分




在此處設置安裝目錄:




vs編譯GDAL:

32位編譯主要參考http://malagis.com/win7-vs2010-gdal.html

64位編譯參考http://www.2cto.com/kf/201308/237944.html以及官網http://trac.osgeo.org/gdal/wiki/BuildingOnWindows

---------------------------------------------------------------------------------------------------------------------------------------------

32位編譯

  • Step1. 在官網(http://trac.osgeo.org/gdal/wiki/DownloadSource)下載zip版的gdal-1.10.1,不確定最新版的gdal-1.11.0是不是穩定,怕遇到問題了都沒人可問,所以沒有下載;
  • Step2. 將下載的gdal解壓到D盤(D:\gdal-1.10.1);
  • Step3. 在開始菜單裏面輸入cmd,在搜索結果右擊“cmd.exe”,以管理員身份運行;

  • Step4.由於我的VS裝在D盤,所以要首先在cmd界面進入到D盤,輸入”D:”,回車;
  • Step5.進入到VS的bin文件夾,在cmd界面輸入cd  ” D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin”,回車;
  • Step6. 輸入”vcvars32.bat”,回車。這個部分如果電腦的環境變量沒設好,是一個比較折騰人的過程。我的就出現了這個問題,老是出現” Cannot determine the location of the VS Common Tools folder”,我沒有按照網上很多人的說法去修改vcvars32.bat裏面的內容,主要是加了兩個環境變量“C:\windows\Microsoft.NET\Framework\v4.0.30319”和“C:\Windows\System32”,然後在運行裏面輸入” gpedit.msc”,然後在“用戶配置”-“管理模板”-“系統”-“阻止訪問註冊表編輯工具”-“策略設置”裏面選擇“已禁用”,再運行vcvars32.bat的時候會成功,但是我的沒有提示註冊環境變量成功,而是過了一段時間依然跳出原來輸入的目錄路徑,不過無所謂,沒跳出錯誤提示應該就是成功了,而且通過後面的步驟,可以驗證註冊環境變量確已成功;
  • Step7. 在cmd中切換目錄到D:\gdal-1.10.1,然後輸入” nmake /f makefile.vc “進行編譯;
  • Step8. 設置輸出目錄。在D:\gdal-1.10.1目錄中找到nmake.opt,用記事本打開,設置自己的保存目錄,我的設置爲GDAL_HOME = " D:\gdal\32bit";
  • Step9. 回到CMD界面,切換到解壓目錄下,執行如下兩條命令:
nmake /f makefile.vc install
nmake /f makefile.vc devinstall

64位編譯

64位的編譯跟32位差不多,不過需要將
  • Step5修改爲:cd  ” D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC”;
  • Step6.修改爲輸入” vcvarsall.bat  amd64”
  • Step7 修改爲輸入” nmake -f makefile.vc WIN64=TRUE”
  • Step8修改爲GDAL_HOME = " D:\gdal\64bit";
  • Step9修改爲
nmake /f makefile.vc WIN64=TRUE install
nmake /f makefile.vc WIN64=TRUE  devinstall

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章