Win10系統下編譯GDAL1 9 2版本

2022-02-05 02:23:04 字數 1643 閱讀 4929

1、win10企業版、64位;

2、vs2012旗艦版;

3、gdal1.9.2

1、解壓gdal壓縮包至f:\gdal\gdal-1.9.2;

2、設定gdal編譯後安裝目錄:開啟解壓目錄下的nmake.opt檔案,修改gdal的安裝目錄gdal_home為f:\gdal\gdal-1.9.2\build

3、設定gdal編譯為64位版本:開啟解壓目錄下的nmake.opt檔案,修改win64專案資訊,將#win64=yes修改為win64=yes

4、以管理員身份執行cmd

①切換到vs2012的vc安裝目錄d:\program files (x86)\microsoft visual studio 11.0\vc\bin

②執行vcvars32.bat命令

5、編譯gdal

①切換到gdal解壓目錄

②執行命令:nmake /f makefile.vc

完成編譯大概需要十來分鐘吧,配置好的機器可能三五分鐘能編譯完。

6、安裝gdal

①執行命令:nmake /f makefile.vc install

②執行命令:nmake /f makefile.vc devinstall

編譯的結果在第2步設定的gdal_home目錄下

gdal從1.8版本起,預設不支援中文路徑。原因在vsiwin32filesystemhandler類(位於gdal_home\port\cpl_vsil_win32.cpp檔案)中,在函式中新增了乙個cplgetconfigoption( "gdal_filename_is_utf8", "yes" ),指定的預設值utf8編碼,系統將含有中文路徑的字串以utf8編碼來進行轉換,結果導致漢字內容亂碼。

解決辦法有如下三種

方法一:不改變gdal源**,在呼叫gdalregisterall()和ograllregiser()函式後,加上下面一句即可:cplsetconfigoption("gdal_filename_is_utf8","no"); 這樣的優點是,不用改動gdal的源**,但是如果自己的工程中經常開啟影象的話,每次都要加,比較麻煩。    

方法二:修改gdal源**,將下面一句cplsetconfigoption("gdal_filename_is_utf8","no"); 分別新增到gdalallregister()函式(位於gdal_home\frmts\gdalallregister.cpp檔案第73行左右)和ogrregisterall()函式(位於gdal_home\ogr\ogrsf_frmts\generic\ogrregisterall.cpp檔案第38行左右)中,然後重新編譯gdal即可。這樣的方式就和使用以前版本的gdal一樣了,不用改動自己的**,推薦使用這種方式。

方法三:修改gdal源**,gdal_home\port\cpl_vsil_win32.cpp檔案中的全部去掉cplgetconfigoption全部去掉,或者將後面的yes改為no,但是該工作量巨大,而且有好多地方,這種方式不推薦。

1、shapefile轉geojson

ogr2ogr -f "

geojson

" output.json input.shp

win10下Linux雙系統

首先給乙個安裝教材鏈結 點我 等安裝成功後,我的ubuntu是有不少小毛病的。例如電腦都不顯示wifi,這就比較尷尬啦。主要是ubuntu16.4系統預設wifi這個驅動器不存在導致wifi功能不能顯示。首先用用網線連線電腦讓電腦可以上網 或者用安卓手機usb線連線電腦,再開啟手機的 設定 更多 流...

Win10下使用Mingw編譯Lua

lua 葡萄牙語月亮 是一門簡潔 輕量 可擴充套件的指令碼語言,官方版本只包括乙個精簡的核心和最基本的庫,使得其體積小 啟動速度快,從而特別適合嵌入到其它程式裡。它由巴西里約熱內盧 pontifical catholic 大學的 puc rio 團隊 開發。lua 是乙個 自由軟體,廣泛應用於世界上...

win10 系統修復

在執行系統檔案檢查器之前,請先執行收件箱部署映像服務和管理 dism 工具。dism.exe online cleanup image restorehealth然後執行 sfc scannow流程結束後,你可能收到以下訊息之一 windows 資源保護找不到任何完整性衝突。這表示您沒有任何丟失或損...