[GDAL]編譯64位GDAL1.10

環境VS2010,swigwin-2.0.11html

1. 打開nmake.opt文件,找到SWIG=swig.exe這一句,假如沒有將swig的目錄添加到環境變量中,那麼將這句後面的swig.exe修改成swig.exe的全路徑,如D:\Program Files (x86)\swigwin-2.0.11\swig.exe。若是設置了環境變量,那麼就不須要進行修改了。web

2. nmake.opt文件,找到「#WIN64=YES」,將前面的「#」去掉,保存安全

3. 用x64兼容命令提示符,開始編譯,進入GDAL根目錄,依次輸入app

1 nmake -f makefile.vc
2 nmake -f makefile.vc install
3 nmake -f makefile.vc devinstall
4 nmake -f makefile.vc clean
5 nmake -f makefile.vc MSVC_VER=1600clean
6 nmake -f makefile.vc MSVC_VER=1600DEBUG=1

4. 編譯C# Wapperide

swig\csharp中的AssemblyInfo.cs中,將spa

[assembly: AllowPartiallyTrustedCallers]註釋掉
[assembly: SecurityRules(SecurityRuleSet.Level1)]保留
.net

保證方法爲安全關鍵代碼,這樣能夠訪問本地代碼。這樣就解決了出現以下異常:code

「安全透明方法「OSGeo.GDAL.Gdal.AllRegister()」嘗試經過方法「OSGeo.GDAL.GdalPINVOKE.AllRegister()」調用本機代碼失敗。方法必須是安全關鍵的或安全可靠關鍵的,才能調用本機代碼。」orm

編譯方法:htm

  1. cd swig\csharp  
  2. #nmake /f makefile.vc interface     #這句話暫時不須要  
  3. nmake /f makefile.vc  
  4. nmake /f makefile.vc install  

5.參考文獻

http://blog.csdn.net/liminlu0314/article/details/6945452 C#包裝庫的編譯

http://www.cnblogs.com/mgen/archive/2011/10/21/2220277.html 安全關鍵

http://www.cnblogs.com/bigbigtree/archive/2011/11/20/2256434.html C++ GDAL DLL編譯含64位

相關文章
相關標籤/搜索