2012年8月8日 星期三

[筆記]OSG-2.8.2在VS2010下的配置安装

 Open Scene Graph 安裝




 


教學影片


 


相關的工具:


1、 最新版的OSG庫OpenSceneGraph-3.0.0.zip


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


2、 安裝源始代碼需要的工具:cmake-2.6.4-win32-x86.zip


3、 第三方庫3rdParty_VC10_x86_x64.zip


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


4、 數據文件包OpenSceneGraph-Data-3.0.0.zip


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




二、編譯準備


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


在C盤建立一個OSG的文件夾,然後其他文件如下放置:


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


C:\OSG\3rdParty:第三方庫解壓後放於此


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


三.安裝源碼


1、 安裝CMake之後,打開CMake -gui.exe


2、OpenSceneGraph-3.0.0.zip解壓後,將裡頭的CmakeLists.txt,拖到Cmake界面。


 



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


ACTUAL_3RDPARTY_DIR值C:/OSG/3rdParty /X64


BUILD_OSG_EXAMPLES :ON


CMAKE_INSTALL_PREFIX:C:/OSG/OpenSceneGraph/;


如下圖


 2012-8-11 下午 05-32-25  


4、點擊Configure後,跑一下後將Advanced打勾,將BUILD_MFC_ EXAMPLE設置為on,然後按下Configure配置。(若沒有將第2步將裡頭的CmakeLists.txt,拖到Cmake界面,這裡就找不到BUILD_MEF_EXAMPLE檔)



5、點擊Generate,建構完成。


 



四、在VS2010下編譯


1、 用VS2010打開OpenSceneGraph.sln(C:\OSG\OpenSceneGraph),再對All_BUILD進行建置,選擇(Debug和Release都要),這段編譯時間是很長的,我的電腦有跑約3個小時。


2、再對INSTALL也進行建置。這就不會等太久了。


 


五、環境變數設置(右擊我的電腦->內容->進階系統設定>環境變數)


對系統變量設置如下:


OSG_FILE_PATH: C:\OSG\data


PATH:C:\OSG\bin;


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


 


六、設置VS2010


打開VS2010


include目錄添加:E:\OSG\OpenSceneGraph\include


程式庫目錄添加:E:\OSG\OpenSceneGraph\lib


 


七、新建OSG项目测试


(1) 打開VS2010,創建一個WIN32控制台程序。


(2)注意:請選空項目,在源程序中添加一個新項,添加一個C++文件(cpp)。


(3)在這個CPP文件中輸入代碼:(fountain.osg來自/bin,可替換成別的圖形)


        #include <osgViewer/Viewer>
        #include <osgDB/ReadFile>


        int main( int, char ** )
        {
               osgViewer::Viewer viewer;
               viewer.setSceneData( osgDB::readNodeFile( "
fountain.osg
" ) );
               return viewer.run();
        }  


(4)打開項目屬性的鏈接器,輸入裡加上:


OpenThreadsd.lib


osgd.lib


osgDBd.lib


osgUtild.lib


osgGAd.lib


osgViewerd.lib


osgTextd.lib


  注意:我這裡編譯的是debug版本,所以編譯的庫都有的命名為*d.lib,如果是release版本,這裡要略做修改。


(5)運行程序,一個噴泉三維效果:





 


 


 


--


問題: win7+vs2010  出現zlib1d.dll的问题


1.    環境變數path加入C:\OSG\3rdParty\bin


2.    把zlib1d.dll 刪除,zlib1.dll改成zlib1d.dll


3.    建置後錯誤, LINK : fatal error LNK1104:無法開啟檔案'freeglut.lib'


       (1)下載:http://freeglut.sourceforge.net/   freeglut.vcproj使用Release執行編譯。


       (2)這時會生成Release目錄,將freeglut.dll複製到system32下。


       (3)將freeglut-2.6.0\include\GL   的.h 複製 C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl


       (4)將Release目錄下的freeglut.lib   複製C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib


沒有留言:

張貼留言