環境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
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位