【OSG學習筆記之一:】OSG+VS2010+win7 64位環境搭建


  雖然出生的時候,沒有說過“Hello World!”,但是自從走上了編程之路,每一次輸出“Hello World!”的時候,都覺得好比中了彩票大獎似的;

  仔細算算,從2012年暑假到現在,經歷了3年半的光陰,這段時間,不僅是知識、閱歷、成長獲得最大的一段,也是人生的一大轉折點。在這期間,得以繼續深造學習自己的專業,雖然踏入這行的時候,也是調劑來的,但是我用這3年的時間,惡補自己7年的不足;2015年,發生了三件大事,我畢業了,我工作了,我有女票了(三件事的重要程度遞增);吃得苦中苦,方位人上人,為自己經歷的苦逼和磨難,敬上自己的感激,同時也為生命中支持和鼓勵我的人,真心的說一句:感謝有你!

下面進入正題,首先聲明環境搭建步驟不是原創的,紀錄在此的目的,一是以便之后查看,二來希望對大家有所幫助:

一.相關文件下載

1.1 Osg源碼

  OpenSceneGraph的3.0.0.zip(現在最新版已經到3.4了)

  下載鏈接:http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-3.0.0.zip

1.2 Osg第三方庫

  3rdParty_VC10_x86_x64.zip

  下載鏈接:http://members.iinet.net.au/~bchrist/3rdParty_VC10_x86_x64.zip

1.3 OSG官方示例數據包

  OpenSceneGraph-Data-3.0.0.zip

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

1.4 安裝源碼工具(雖然寫的x86的,但是64位系統也可以用的)

  1.4.1 之前版本下載連接: cmake-2.8.4-win32-x86.exe 

  1.4.2 最新版本下載連接: cmake-3.4.1-win32-x86.exe

二、編譯環境創建

為了編譯的順利進行,將下載的文件組織如下,在E盤建立一個OSG的文件夾,然后其他文件如下放置:

  E:\OSG\OpenSceneGraph,源碼解壓后放於此;

  E:\OSG\3rdParty,第三方依賴庫解壓后放於此;

  注意:這個里面的第三方庫一般包含x64和x86的兩個版本的,這里要根據你自己的電腦需要選擇一個然后把里面的文件復制到3rdParty文件夾中。

     由於本人的電腦是64位的系統,所以我選擇的留下了的是“x86”。

      之所以選擇x86,也就是32位是因為64位的隱患很大,很多庫沒有64位的,

      而我也自己親身實踐過,在后面的VS批生成的時候導致ALL_INSTALL出現了2個失敗,在后面的直接4個全失敗。所以這里我建議選擇使用32位的

  E:\OSG\data,數據包解壓后放於此。

三.編譯OSG源碼

3.1 首先安裝CMake,之后打開CMake -gui.exe

  這里要補充說下,因為有些教程里面說到,在創建” E:\OSG\OpenSceneGraph”文件夾之后,

  最好在里面新建兩個文件夾,一個叫”build”;一個叫”bin”;

3.2 將源碼OpenSceneGraph文件夾里頭的CmakeLists.txt,拖到Cmake界面,如圖:

  

   然后將“where to build the binaries”設置為,剛剛新建的“build”文件夾,具體如上圖。

3.3 點擊Configure,選擇Visual Studio 10,如下圖:

   

  這里需要說的是,因為我上面第三方依賴庫我保留的是x86,所以我這里也就自然選擇VS10就可以了;

  另外還有一個是VS10 Win64 的那就是要對應之前的第三方依賴庫的選擇了;

3.4 點擊Finish之后,等一下,然后進行相關設置:

  ACTUAL_3RDPARTY_DIR:E:/OSG/3rdParty

  BUILD_OSG_EXAMPLES :勾上

  CMAKE_INSTALL_PREFIX:E:/OSG/OpenSceneGraph/

  如下圖:

   

3.5 點擊Configure后,等一會;

  然后將Advanced打勾,將BUILD_MFC_ EXAMPLE設置為on,進行最后一次的Configure配置,點擊Configure:

  如果這過程中下面的這個區域:

  

  出現了紅色的亂碼,可能是跟你的VS10的一些默認項目文件存放的路徑有關,之所以會亂碼,是因為可能上面說到的路徑有中文。

  所以,建議不要去修改VS10的一些默認的存放的路徑,避免不必要的錯誤。

  當然隨着這步勾選上BUILD_MFC_ EXAMPLE,正常的情況應該是中間區域的紅色會全部消失,但是下面的區域你去查看會發現任然有些紅色的語句警告,這無關緊要;

  繼續進行下一步。

3.6 點擊Generate,自此建構完成。

四.編譯階段

4.1 用VS2010打開OpenSceneGraph.sln(此文件在E:\OSG\OpenSceneGrap\build下);

  找到菜單:生成-批生成,對All_BUILD進行生成,選擇(Debug和Release兩個版本),這段編譯時間是很長的,估計2個小時左右,主要看電腦,這的確要很久;

  建議大家要耐心等待,代碼好像要走到13000左右差不多就好了,這段時間可以打局LOL或者看看視頻之類的,玩笑了。

   

4.2 第1步完成后,再對INSTALL也進行相應生成編譯,這段時間很快的:

  

五.數據轉移

  在C盤新建OSG文件夾(這個可以放在你想放的地方,不僅僅限於C盤,因為畢竟不是所有人都是把C盤設置的很大,而且不免有些人的C盤是容量不大的SSD)

  將E:\OSG\OpenSceneGraph下的bin,include,lib文件夾,拷貝到C:\OSG下;

  將E:\OSG\data下的數據,拷貝到C:\OSG\data下;

  這幾個文件是OSG需要的。

六.環境變量設置

6.1右擊“計算機”,然后“屬性”,在計算機屬性窗口的左邊有個高級系統設置,如下圖:

   

  點擊之后,高級--環境變量,對系統變量設置如下:

  新建一個變量:OSG_FILE_PATH:C:\OSG\data

  追加變量內容:PATH:C:\OSG\bin;

6.2 在命令行(CMD)進行測試:

  osgversion

  osgviewer cow.osg

  osglogo

  注意:測試osglogo時,出現如下錯誤:

    'osglogo' 不是內部或外部命令,也不是可運行的程序
    或批處理文件。

  這個原因我搜索了一下osglogo.exe,發現它存在於兩個地方:

    E:\OSG\OpenSceneGraph\share\OpenSceneGraph\bin
    E:\OSG\OpenSceneGraph\build\bin

  實際上到這一步,已經編譯成功,如果覺得非得調出osglogo的話,就把osglogo.exe復制到C:\OSG\bin下面,就可以了。

七.新建OSG項目測試

  7.1  在VS2010下,找到C++,新建WIN32控制台程序;

  7.2 添加一個cpp;

  7.3 輸入以下代碼:

 1 #include <osgViewer/Viewer>
 3 #include <osgDB/ReadFile>
 5 int main( int argc, char **argv )
 7 {
 9   osgViewer::Viewer viewer;
11   viewer.setSceneData( osgDB::readNodeFile( "cow.osg" ) );
13   return viewer.run();
15 }

   7.4 右鍵項目,選擇“屬性”,選擇“VC++目錄”,在包含目錄添加:C:\OSG\include,在庫目錄添加:C:\OSG\lib

  

  7.5 打開項目屬性的鏈接器,在輸入厘米那,附加依賴項加上:

OpenThreadsd.lib

osgd.lib

osgDBd.lib

osgUtild.lib

osgGAd.lib

osgViewerd.lib

osgTextd.lib

 7.6 運行,效果如下圖:

  

 

Congratulations,下面你就可以享受OSG的世界了!

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM