OSG+VS2010+win7環境搭建

一.相關準備api

a) Osg源碼工具

當前最新版:OpenSceneGraph的3.0.0.zip測試

下載連接:ui

http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-3.0.0.zipspa

b) Osg第三方庫.net

3rdParty_VC10_x86_x64.zip命令行

http://members.iinet.net.au/~bchrist/3rdParty_VC10_x86_x64.zipblog

http://openscenegraph.alphapixel.com/osg/downloads/openscenegraph-third-party-library-downloadsip

c) 數據包get

當前最新版:OpenSceneGraph-Data-3.0.0.zip

下載連接:

http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/data/OpenSceneGraph-Data-3.0.0.zip

d) 安裝源碼工具

cmake-2.8.4-win32-x86.exe。

2、編譯準備

爲了編譯的順利進行,將下載的文件組織以下:

在C盤創建一個OSG的文件夾,而後其餘文件以下放置:

D:\OSG\OpenSceneGraph:源碼解壓後放於此

D:\OSG\3rdParty:第三方依賴庫解壓後放於此

D:\OSG\OpenScenGraph-Data-3.0.0.zip:數據包解壓後放於此。

三.安裝源碼

a) 安裝CMake以後,打開CMake -gui.exe

b) 源碼OpenSceneGraph-3.0.0.zip解壓後,將裏頭的CmakeLists.txt,拖到Cmake界面。

如圖:

 

 

c) 點擊Configure,選擇Visual Studio 10(x86),finish後進行相關設置:

ACTUAL_3RDPARTY_DIR值D:/OSG/3rdParty;

BUILD_OSG_EXAMPLES :ON

CMAKE_INSTALL_PREFIX:D:/OSG/OpenSceneGraph/;

以下圖:

 

e)點擊Configure後,將Advanced打勾,將BUILD_MFC_ EXAMPLE設置爲on,而後進行最後一次的Configure配置。

f)點擊Generate,自此建構完成。

四.編譯階段

a) 用VS2010打開OpenSceneGraph.sln(此文件在D:\OSG\OpenSceneGraph下),

生成-批生成,對All_BUILD進行生成,選擇(Debug和Release兩個版本),這段編譯時間是很長的,估計4-5個小時。

 

b) 第1步完成後,再對INSTALL也進行相應生成編譯。這段時間相應會短一點。

 

五.數據轉移

在C盤新建OSG文件夾

將D:\OSG\OpenSceneGraph下的bin,include,lib文件夾拷貝到C:\OSG下,將D:\OSG\OpenSceneGraph-Data-3.0.0下的數據拷貝到C:\OSG\data下;這幾個文件是OSG須要的。

六.環境變量設置

對系統變量設置以下:

OSG_FILE_PATH: C:\OSG\data

PATH:C:\OSG\bin;

可在命令行進行測試osgversion,osglogo,osgviewer cow.osg。

 

七.新建OSG項目測試

a) 在VS2010下新建WIN32控制檯程序

b) 添加一個cpp

c) 輸入如下代碼:

 

#include<osgViewer/Viewer>

#include<osgDB/ReadFile>

int main( int argc, char **argv )

{

osgViewer::Viewer viewer;

viewer.setSceneData( osgDB::readNodeFile( "cow.osg" ) );

return viewer.run();

}

 

d)右鍵項目,選擇「屬性」,選擇「VC++目錄」,在包含目錄添加:C:\OSG\include

在庫目錄添加:C:\OSG\lib.

 

e) 打開項目屬性的連接器,輸入裏,附加依賴項加上:

OpenThreadsd.lib

osgd.lib

osgDBd.lib

osgUtild.lib

osgGAd.lib

osgViewerd.lib

osgTextd.lib

f)運行,效果以下圖:

相關文章
相關標籤/搜索