本人經過自己的實踐成功編譯了osg3.4,步驟詳盡,編譯後自己總結的文檔,希望對大家有幫助。具體文檔的下載方式:https://download.csdn.net/download/xiaoyuwang1994/10176063 。下面介紹一下關鍵的步驟:
1、下載安裝包
***OpenSceneGraph的3.4.0.zip安裝包
***Osg第三方庫:3rdParty_VC10_x86_x64.zip
***OSG官方示例數據包
***安裝源碼工具cmake-3.4.1-win32-x86.exe(我選擇的是x86)
2、創建編譯環境
爲了編譯的順利進行,將下載的文件組織如下,在G盤建立一個SECOND的文件夾,然後其他文件如下放置:
G:\SECOND\OpenSceneGraph-3.4.0,源碼解壓後放於此;
G:\SECOND\3rdParty,第三方依賴庫解壓後放於此;
G:\SECOND\OpenSceneGraph-Data-3.4.0,數據包解壓後放於此。
3、編譯OSG源碼
3.1首先安裝CMake,之後打開CMake-gui.exe。這裏要補充說下,在創建“G:\SECOND\OpenSceneGraph-3.4.0”文件夾之後,在裏面新建兩個文件夾,一個叫“build”;一個叫“bin”;
3.2將源碼OpenSceneGraph-3.4.0文件夾裏頭的CmakeLists.txt,拖到Cmake界面,然後將“where to build the binaries”設置爲,剛剛新建的“build”文件夾;
3.3點擊Configure,選擇Visual Studio 10;
3.4 點擊Finish之後,等一下,然後進行相關設置:
ACTUAL_3RDPARTY_DIR:G:\SECOND\3rdParty;
BUILD_OSG_EXAMPLES:勾上;
CMAKE_INSTALL_PREFIX:G:\SECOND\OpenSceneGraph-3.4.0\bin;
3.5 點擊Configure後,等一會;出現紅色區域,按照提示進行修改路徑。然後將Advanced打勾,將BUILD_MFC_ EXAMPLE設置爲on,進行最後一次的Configure配置,點擊Configure;
3.6 點擊Generate,自此建構完成。
4、編譯程序
4.1用VS2010打開OpenSceneGraph.sln(此文件在G:\SECOND\OpenSceneGraph-3.4.0\build下);找到菜單:生成-批生成,對All_BUILD進行生成,選擇(Debug和Release兩個版本),這段編譯時間是很長的,估計2個小時左右;
4.2 第1步完成後,再對INSTALL也進行相應生成編譯,這段時間很快的;
5、數據轉移
5.1在C盤新建OSG文件夾;
5.2將G:\SECOND\OpenSceneGraph-3.4.0\bin下的bin、include、lib、share文件夾,拷貝到G:\SECOND\OpenSceneGraph-3.4.0\build\bin下,然後將G:\SECOND\OpenSceneGraph-3.4.0\build下的bin、include、lib文件夾,拷貝到C:\OSG;
5.3將G:\SECOND文件夾下的OpenSceneGraph-Data-3.4.0,拷貝到C:\OSG;
6、環境變量設置
6.1、右擊“計算機”,然後“屬性”,在計算機屬性窗口的左邊有個高級系統設置;點擊之後,高級--環境變量,對系統變量設置如下:
新建一個變量:OSG_FILE_PATH:C:\OSG\ OpenSceneGraph-Data-3.4.0
追加變量內容:PATH:C:\OSG\bin
6.2、在命令行(CMD)進行測試:
osgversion
osgviewer cow.osg
osglogo
7、新建OSG項目測試
7.1、在VS2010下,找到C++,新建WIN32控制檯程序;
7.2、添加一個cpp;
7.3、輸入以下代碼:
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
int main( int argc, char **argv )
{
osgViewer::Viewer viewer;
viewer.setSceneData( osgDB::readNodeFile( "cow.osg" ) );
return viewer.run();
}
7.4、右鍵項目,選擇“屬性”,選擇“VC++目錄”,在包含目錄添加:C:\OSG\include和C:\OSG\bin\include,在庫目錄添加:C:\OSG\lib和C:\OSG\bin\lib,在可執行目錄中添加:C:\OSG\bin和C:\OSG\bin\bin和C:\OSG\bin\share\OpenSceneGraph\bin
7.5、打開項目屬性的鏈接器,在輸入--附加依賴項加上:
OpenThreadsd.lib;osgd.lib;osgDBd.lib;osgUtild.lib;osgGAd.lib;osgViewerd.lib;osgTextd.lib
最後Ctrl+F5,就可以看到有牛的3D圖像運行了!