OSG安裝步驟

有問題或不明白的在評論中指出,多謝各位大牛。
2015年9月27號,接觸到OSG使用OpenGL技術開發,是一套基於C++平臺的應用程序接口(API),它讓程序員能夠更加快速、便捷地創建高性能、跨平臺的交互式圖形程序。

用到這個的朋友,下面是安裝步驟:

1.資源下載

1)OSG庫:OpenSceneGraph-3.0.1.zip

http://www.osgchina.org/projects/osgcn/wikicn/Downloads.php

2)安裝源代碼所需要的工具:cmake-2.8.7-win32-x86.exe (下載的ZIP文件裏面找不到運行軟件的程序,推薦下載可直接執行程序)

http://www.cmake.org/cmake/resources/software.html

3)3rdParty :windows-VS9.0.30729-x86-debug

http://openscenegraph.alphapixel.com/sites/default/files/osgdownload/depends/windows-VS9.0.30729-x86-debug.7z

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

http://www.openscenegraph.org/projects/osg/wiki/Downloads/SampleDatasets

解壓放在自己新建的文件中,方便以後的使用,如下圖1。


2.CMake使用

接下來用CMake生成VS2008的工程

1)在C:\OSG\OpenSceneGraph 下建立兩個文件夾,分別命名爲bin、build(放置後面生成的東西)。

2)運行CMake,將C:\OSG\OpenSceneGraph下的CMakeLists.txt拉到CMake界面裏。

設置where is the source code 爲“C:\OSG\OpenSceneGraph”

Where is build the binaries 爲”C:\OSG\OpenSceneGraph\build“

3).點下configure按鍵,選擇VS 9 2008 (可能會出現警告,可以忽視)

4).設置相關的cache value參數,這裏主要設置的參數包括:

ACTUAL_3RDPARTY_DIR:設置爲前面的D:\OSG\3rdParty

BUILD_OSG_EXAMPLES:ON,即編譯實例

CMAKE_INSTALL_PREFIX:C:/OSG/OpenSceneGraph/bin,設置編譯成功後,相關的庫文件存放的地址,切勿忘記,然後點擊Configure按鈕,進行第二次配置。

5).之後勾上BUILD_MFC_EXAMPLE還有勾選Advanced複選框,知道沒有紅色的框出現。

3.編譯程序

在自己新建的“**\\build”文件夾裏面找到“***.sln”文件打開,一般直接點擊編譯就可以了,但是我在操作的時候出現了bug,出現了microsoft incremental linker異常停止,我的解決辦法,下載了最新的sp1包,然後更新安裝,這個問題就解決了。網上教程說的方法一(解決方案一:項目->屬性->鏈接器->常規 下面的“啓用增量鏈接”,將“是(/INCREMENTAL)”改爲“否(/INCREMENTAL:NO)”。不過這又引入了另外一個警 告:FormatCom.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由於“/INCREMENTAL:NO”規範)選擇項目,屬性->配置屬性 ->C/C++,修改“調試信息格式”爲“程序數據庫(/Zi)”即可。)並沒有出現我想要的效果,而且屬性配置裏面沒有c/c++選項,如果要出現這個選項就在設置爲啓動項目錄下新建一個*.cpp文件,之後就出現了。

編譯結束後,我發現在文件的*\\build文件中出現了.dll文件,*\\bin, *\\lib出現了我想要的文件。

現在要做的就是把3dparty文件中的include下面文件bin,include,lib文件全部拷貝到OSG\OpenSceneGraph-3.0.1\include,OSG\OpenSceneGraph-3.0.1\build\bin,OSG\OpenSceneGraph-3.0.1\build\lib對應放好。在vs2008中工具->選項中,自己找到包含文件和庫文件,填寫相應的路徑。

4.配置路徑

在path裏面添加;C:\OSG\OpenSceneGraph\build\bin個人根據自己的設置進行修改。可以在dos界面中測試,osgviewerd(表示debug編譯),osgviewer(表示Release編譯) cow.osg會出現一個牛的圖形。

5.測試程序

編寫代碼:

<span style="white-space:pre">	</span>#include<windows.h>
<span style="white-space:pre">	</span>#include<gl/gl.h>
<span style="white-space:pre">	</span>#include<gl/glu.h>
<span style="white-space:pre">	</span>#include<osgViewer/Viewer>
<span style="white-space:pre">	</span>#include<osgDB/ReadFile>
 
<span style="white-space:pre">	</span>int main(int,char**)
<span style="white-space:pre">	</span>{
 
<span style="white-space:pre">	</span>   osgViewer::Viewer viewer;
 <span style="white-space:pre">	</span>   viewer.setSceneData(osgDB::readNodeFile("fountain.osgt"));
 <span style="white-space:pre">	</span>   return viewer.run();
<span style="white-space:pre">	</span>}<span style="white-space:pre">	</span>

項目設置:

修改鏈接器\常規\使用庫依賴項輸入爲:”。

然後在鏈接器\輸入\附加依賴項中 添加OpenThreadsd.libosgd.lib osgDBd.lib osgUtild.lib osgGAd.lib osgViewerd.lib osgTextd.lib 這幾項。


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