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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

OSG踩坑

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

環(huán)境

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

OSG編譯安裝

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

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

OSGEarth編譯安裝

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

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

啟動腳本

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

osg_控制臺.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踩坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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