OpenSceneGraph学习笔记
生活随笔
收集整理的這篇文章主要介紹了
OpenSceneGraph学习笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
VirtualPlanetBuilder編譯方法
轉自:http://www.boyunjian.com/do/article/snapshot.do?uid=7327932418831703800
一、下載安裝TortoiseSVN客戶端
VirtualPlanetBuilder源代碼需要通過TortoiseSVN客戶端來獲取。TortoiseSVN客戶端下載地址?http://tortoisesvn.net?。網頁提供了完整的客戶端安裝文件,以及語言包。筆者電腦操作系統為Windows 7(32位),下載了筆者操作系統相對應的客戶端,同時下載了簡體中文語言包。安裝TortoiseSVN客戶端,以及語言包。安裝過程很簡單,直接默認安裝即可。?
?
二、通過TortoiseSVN客戶端獲取VirtualPlanetBuilder源代碼
在任意文件夾單擊鼠標右擊,然后點擊SVN Checkout...,在版本庫URL中輸入http://www.openscenegraph.org/svn/VirtualPlanetBuilder/trunk?,點擊確定。?
??
??
??
下載的文件夾中文件如圖所示:?
??
打開NEWS.txt文件,查看VirtualPlanetBuilder版本。?
??
注意:編譯VirtualPlanetBuilder的時候,VirtualPlanetBuilder版本和OSG版本一定要兼容,否則會出現編譯問題。通過TortoiseSVN下載的這個版本,可以和OpenSceneGraph-3.0.1完美兼容。?
OpenSceneGraph-3.0.1的編譯方法,可以參考筆者的另一篇博客:?OpenSceneGraph學習筆記(一):OpenSceneGraph編譯方法?。
三、編譯OpenSceneGraph版本對應版本的GDAL
筆者在上一篇博客編譯OpenSceneGraph-3.0.1的時候,并沒有編譯GDAL。這里從GDAL的官方網站(?http://www.gdal.org?)下載最新版本的源代碼包,然后進行編譯即可。也可下載官方編譯好的GDAL包直接使用。您需要下載和您操作系統、編譯器相對應的源代碼包,筆者下載的源代碼包為release-1600-gdal-mapserver-src.zip,同時也下載了其他文件,但是和本篇內容無關。?
??
源代碼在文件release-1600-gdal-mapserver-src.zip之中,將源代碼解壓即可。這里我們只需要解壓壓縮包release-1600-gdal-mapserver-src.zip中的gdal文件夾。將解壓的文件夾命名為gdal-20130222。?
解壓結果如圖所示:?
??
用Microsoft Visual Studio 2010打開文件makegdal10.sln,運用Microsoft Visual Studio 2010批生成工具編譯。?
??
??
??
GDAL 編譯完成后的文件存放于 C:\warmerda\bld ,包含文件 bin,data,html 三個子文件夾。將該文件夾拷貝到gdal-20130222文件夾中。對比之前的文件,可以看到gdal-20130222文件夾中,同時也生成了lib文件等。?
??
注意:如果按照筆者?OpenSceneGraph學習筆記(一):OpenSceneGraph編譯方法?文章中的方法,直接下載官方編譯好的文件,需要在文件包中查找GDAL的版本,和編譯相對應版本的lib文件。?
GDAL文件的版本查找方法如下:?
? 解壓下載好的壓縮包,在如圖所示的路徑中找到文件,文件后綴即gdal的版本。則下載gdal18的源代碼進行編譯即可。同時可以查看筆者之前編譯的gdal版本為1.10.0.0。?
??
?
四、整理 VirtualPlanetBuilder編譯代碼
新建名為VirtualPlanetBuilder-20130222的文件夾,這是筆者的一個習慣,將文件夾的后綴加上時間,方便日后查看。?
1、將下載好的VirtualPlanetBuilder源代碼復制到該文件夾,將VirtualPlanetBuilder文件夾命名為VirtualPlanetBuilder-0.9.11,加上版本號之后,也是方便我們日后查看。?
2、將編譯好的 OpenSceneGraph-3.0.1【OpenSceneGraph-3.0.1_VS2010_20130220[-debug-release]】復制到該文件夾。?
3、 因為筆者在用自己編譯的GDAL包,編譯VPB的時候,出現了錯誤。{解決方案,筆者會在今后的學習中提供}?
? 改用官方編譯好的GDAL包,可以完美的編譯通過,具體使用方法如下:?
在VirtualPlanetBuilder-20130222文件夾中,新建一個名為gdal-1.10.0.0-20130222的文件夾,解壓如圖所示的壓縮包到該文件夾。?
?? ???
???
4、新建一個名為VirtualPlanetBuilder-0.9.11_VS2010_20130222文件夾。結果如圖所示:?
? ? ?
五、設置系統環境變量
開始-->控制面板-->系統-->高級系統設置?
??
1、添加系統環境變量:OSG_DIR、GDAL_DIR?
這兩個變量是為了在系統中指明OSG和GDAL的存放位置。?
?
2、添加Path值?
在系統Path中添加值:?
%GDAL_DIR%\LIB;%GDAL_DIR%\BIN;%OSG_DIR%\INCLUDE;%OSG_DIR%\LIB;%OSG_DIR%\BIN;?%OSG_DIR%\include;%OSG_DIR%\share;?%OSG_DIR%\data;
直接復制到Path變量值最前面就行。?
?
六、CMake處理源代碼
如圖所示設置 源代碼地址和源代碼編譯地址, 點擊 configure。?
??
修改CMAKE_INSTALL_PREFIX值和編譯代碼文件夾位置一致,然后點擊configure?
?
七、編譯源代碼
用VS2010打開VirtualPlanetBuilder-0.9.11_VS2010_20130222文件夾下VIRTUALPLANETBUILDER.sln文件。?
?
打開:VIRTUALPLANETBUILDER.sln之后, 修改下面文件: vpb 項目下 SpatialProperties.cpp 文件【推薦方法】?
注意:如果不修改,也可以編譯,但是VS2010會出現error LNK2005的鏈接錯誤,需要修改VPB工程屬性。?
錯誤 1 error LNK2005: "public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" (??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 已經在 SpatialProperties.obj 中定義 E:\paper\OpenSceneGraph\VirtualPlanetBuilder-20130222\VirtualPlanetBuilder-0.9.11_VS2010_20130222\src\vpb\osgDB.lib(osg80-osgDB.dll)?
錯誤 3 error LNK2005: "public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" (??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 已經在 SpatialProperties.obj 中定義 E:\paper\OpenSceneGraph\VirtualPlanetBuilder-20130222\VirtualPlanetBuilder-0.9.11_VS2010_20130222\src\vpb\osgDBd.lib(osg80-osgDBd.dll)?
??
修改方法: 在vpb的 ”項目屬性->鏈接器->命令行“ 中添加 ”/FORCE:MULTIPLE" ,(記住dubug和release都要添加,如果您需要生成兩個版本)?
?
?
?
用VS2010的批生成工具對源代碼進行編譯。?
??
編譯完成?
?
轉載于:https://www.cnblogs.com/flylong0204/p/4505789.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的OpenSceneGraph学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux小白-基础命令-ls
- 下一篇: Salesforce视图与控制器之间的交