OSG環境搭建

首先下載所需文件:

最新版的osg庫(我的版本:OpenSceneGraph-3.0.1.zip),可以在osg官網下載:   http://www.osgchina.org/projects/osgcn/wiki.php

安裝源代碼所需要的工具CMAKE:(我的版本:cmake-2.6.4-win32-x86.zip)  http://www.cmake.org/cmake/resources/software.html

第三方支持(圖像)庫:(我的版本:3rdParty_Win32Binaries_vc90sp1.zip)  http://www.openscenegraph.org/projects/osg/wiki/Downloads/Dependencies

根據不同開發工具選擇不同的文件,我的是vs2008

示例數據文件包:(我的版本是:OpenSceneGraph-Data-2.8.0.zip)可以在osg官網下載

其次準備編譯環境:

在D盤建立osg文件夾,將上述四個文件拷貝解壓到osg文件夾下(注意:需要把cmake工具最好也解壓到這兒,否則可能會出現錯誤):

D:\OSG\3rdParty_x86_x64(放置圖像庫)

D:\OSG\cmake-2.8.8-win32-x86(放置cmake工具)

D:\OSG\OpenSceneGraph-3.0.1(放置osg庫文件)

D:\OSG\OpenSceneGraph-Data-3.0.0(示例數據解壓文件),主要用於example展示

開始編譯:

在D:\OSG\OpenSceneGraph-3.0.1下新建兩個文件夾build和bin用於放置編譯文件

雙擊打開D:\OSG\cmake-2.8.8-win32-x86\bin下的cmake-gui.exe文件,把OpenSceneGraph-3.0.1下的CMakeLists.txt拖到cmake界面,設置sourcecode和binaries的文件路徑

D:/OSG/OpenSceneGraph-3.0.1(源碼路徑)、D:/OSG/OpenSceneGraph-3.0.1/build(編譯的二進制文件路徑)

設置cache value參數:

ACTUAL_3RDPARTY_DIR,:設置爲前面的D:\OSG\3rdParty_x86_x64\x86(因爲文件夾下有x86和x64兩個文件夾)

BUILD_OSG_EXAMPLES :ON,即編譯實例


CMAKE_INSTALL_PREFIX:D:/OSG/OpenSceneGraph-3.0.1/bin ,設置編譯成功後,相關的庫文件存放的地址,切勿忘記

點擊configure按鈕,彈出選擇工具,我的是visual studio 2008, 進行第一次配置

第一次配置完成後,將mfc example 設置爲on,將右上角的show advanced values 複選框選擇上.

點擊configure進行第二次配置,配置完成後,點擊generate按鈕開始生成

generate完成以後會在D:\OSG\OpenSceneGraph-3.0.1\build文件下生成OpenSceneGraph.sln

用vs進行編譯

用vs2008打開OpenSceneGraph.sln解決方案

點擊“生成--批生成”菜單,選擇ALL BUILD的debug和release版本,開始生成,這需要很長很長的時間

……………………

完成以後,又生成INSTALL的debug和release版本,仍然需要很長時間

………………

結束以後會發現在D:/OSG/OpenSceneGraph-3.0.1\bin目錄下生成了幾個文件夾

設置環境變量

在系統變量Path中添加D:\OSG\OpenSceneGraph-3.0.1\bin\bin,用於dll的調用

新建一個用戶變量OSG_FILE_PATH,設置值爲D:\OSG\OpenSceneGraph-Data-3.0.0,用於調用example

打開VS2008,工具->選項->項目解決方案->VC++目錄,分別設置OSG的頭文件及庫文件
包含文件裏添加:D:/OSG/OpenSceneGraph-3.0.1\bin\include
庫文件添加:D:/OSG/OpenSceneGraph-3.0.1\bin\lib

測試:

打開命令行,輸入osgversion會出現osg版本

輸入osgViewer cow.osg,出現奶牛

如果以上都成功,說明osg已經安裝成功

新建OSG項目測試

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

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

(3)在這個CPP文件中輸入代碼:

#include "windows.h"   //如果不添加這個頭文件,會出現在gl.h中的錯誤
        #include <osgViewer/Viewer>
        #include <osgDB/ReadFile>

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

(4)打開項目屬性的鏈接器,輸入里加上:
OpenThreadsd.lib
osgd.lib
osgDBd.lib
osgUtild.lib
osgGAd.lib
osgViewerd.lib
osgTextd.lib

運行程序,會出現一頭奶牛。

如果運行不成功出現“無法啓動程序,丟失osg80-osgDBd.dll文件

網上搜了很多,說是沒有將dll文件目錄添加到環境變量裏面,如果確定已經添加,那麼重新啓動機器。

重啓以後,發現第一個錯誤沒有了,不過有出現說丟失zlibd1.dll文件。

解決方法是將D:\OSG\3rdParty_x86_x64\x86\bin下的zlibd1.dll、zlib1.dll和zlibd.pdb文件拷到D:/OSG/OpenSceneGraph-3.0.1\bin\bin目錄下,這樣應該就可以運行了。


osg在win7+vs2008下的環境搭建成功,開始學習osg編程吧,祝你好運!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章