日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

OSG踩坑

發(fā)布時(shí)間:2023/12/10 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OSG踩坑 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

環(huán)境

本人當(dāng)前使用的環(huán)境是VS2013 Ultimate Update5 + WIN10。

OSG編譯安裝

  • 下載編譯OSG源碼不要克隆github上的源碼,而是下載穩(wěn)定版本的OSG源碼進(jìn)行編譯。因?yàn)間ithub上的源碼處于開發(fā)階段,我們應(yīng)該優(yōu)先選擇穩(wěn)定版本,我使用的是OpenSceneGraph-3.4.0。
  • 編譯OSG。OSG包含的項(xiàng)目很多,特別是包含了很多example項(xiàng)目,普通編譯完成大概要3小時(shí)。如何加快編譯速度,網(wǎng)上教程基本沒有提及。這里介紹一種快速編譯的方法:

按住Ctrl多選,選中需要編譯的項(xiàng)目,右鍵->配置->C/C+±>多處理器編譯->是(MP),debug和release都要設(shè)置,不要切換了構(gòu)建配置后就忘了設(shè)置。使用多處理器編譯,可以CPU利用率達(dá)到100%,編譯時(shí)間大概在半小時(shí)左右。

OSGEarth編譯安裝

  • 除了需要下載3rdParty,還需要自己編譯第三方庫(kù),包括geos庫(kù),proj庫(kù),gdal庫(kù),sqlite庫(kù)。
  • gdal庫(kù)編譯過程參考文章:
    gdal(集成geos+proj.4)編譯(C++)C#開發(fā)版本。
    為什么要自己編譯GDAL?因?yàn)橄螺d的第三方庫(kù)3rdParty_VS2013_v120_x86_x64_V9_small在編譯時(shí)沒問題,在運(yùn)行時(shí)會(huì)報(bào)錯(cuò):“ERROR 6: Unable to load PROJ.4 library (proj.dll), creation of OGRCoordinate”,即找不到proj的庫(kù)。按照上面的文章自己編譯是最穩(wěn)妥的選擇。
  • sqlite庫(kù)編譯(可選)
    下載及編譯的官方文檔:https://www.sqlite.org/cgi/src/doc/trunk/README.md
    參考CSDN文章:SQLite源代碼編譯為amalgamation的sqlite3.c代碼
    注意編譯時(shí),sqlite目錄結(jié)構(gòu)如下:

    將Makefile.msc拷貝到bld下,運(yùn)行VS2013 x86 本機(jī)工具命令提示工具,過程類似gdal庫(kù)編譯,使用官方文檔中的命令編譯即可。注意編譯需要執(zhí)行tcl腳本,故需要安裝tcl工具。tcl工具下載鏈接:https://pan.baidu.com/s/1-_Ropg93Er2k3wxcJj4XeQ

啟動(dòng)腳本

網(wǎng)上多數(shù)教程在配置環(huán)境時(shí)要求設(shè)置系統(tǒng)環(huán)境變量,這樣在正確性上沒問題,但是后期部署就不是那么方便了,因?yàn)椴渴鸬叫码娔X還要手動(dòng)設(shè)置系統(tǒng)環(huán)境變量,這樣會(huì)顯得很笨拙和麻煩。能自動(dòng)處理的事情,就不要手動(dòng)去做,人怕麻煩,人會(huì)出錯(cuò)。所以我們?cè)谂渲铆h(huán)境變量時(shí),使用腳本來配置,配置完啟動(dòng)需要啟動(dòng)的程序即可,被啟動(dòng)的程序即在設(shè)置好的環(huán)境變量中工作了。我使用的腳本如下:

osg_控制臺(tái).cmd

set OSG_ROOT_DIR=E:\Projects\OSG
set PATH=%PATH%;%OSG_ROOT_DIR%\OpenSceneGraph\build\3.4.1_VS2013\bin;%OSG_ROOT_DIR%\3rdparty\3rdParty_VS2013_v120_x86_x64_V9_small\3rdParty_x86_x64\x86\bin;%OSG_ROOT_DIR%\gwaldron-osgearth\build\vs2013\bin\Debug;E:\Projects\OSG\gwaldron-osgearth\build\vs2013\lib\Debug;%OSG_ROOT_DIR%\3rdParty\gdal202\bin;%OSG_ROOT_DIR%\3rdParty\geos-3.6.3\bin;%OSG_ROOT_DIR%\3rdParty\proj-4.9.3\bin;
set OSG_FILE_PATH=%OSG_ROOT_DIR%\data\OpenSceneGraph-Data
cmd.exe

osg_VS2013.cmd

set OSG_ROOT_DIR=E:\Projects\OSG
set PATH=%PATH%;%OSG_ROOT_DIR%\OpenSceneGraph\build\3.4.1_VS2013\bin;%OSG_ROOT_DIR%\3rdparty\3rdParty_VS2013_v120_x86_x64_V9_small\3rdParty_x86_x64\x86\bin;%OSG_ROOT_DIR%\gwaldron-osgearth\build\vs2013\bin\Debug;E:\Projects\OSG\gwaldron-osgearth\build\vs2013\lib\Debug;%OSG_ROOT_DIR%\3rdParty\gdal202\bin;%OSG_ROOT_DIR%\3rdParty\geos-3.6.3\bin;%OSG_ROOT_DIR%\3rdParty\proj-4.9.3\bin;
set OSG_FILE_PATH=%OSG_ROOT_DIR%\data\OpenSceneGraph-Data
cd “S:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE”
start devenv.exe

總結(jié)

以上是生活随笔為你收集整理的OSG踩坑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。