OGRE 1.7.2 [Cthugha] 编译配置全过程方法
??????? 最近老師說(shuō)讓我們學(xué)習(xí)一下OGRE場(chǎng)景編輯器,網(wǎng)上搜索了很久,最后搜索到了Ogitor學(xué)做編輯器的方法,前提是要先編譯好OGRE,于是,我就開(kāi)始看網(wǎng)上的各種資料來(lái)學(xué)習(xí)OGRE,由于沒(méi)人給予指導(dǎo),都是自己一點(diǎn)點(diǎn)在網(wǎng)上看別人博客上總結(jié)的方法和自己的摸索總結(jié)出來(lái)的一些方法。。
??????? 首先說(shuō)一下我會(huì)介紹兩種辦法來(lái)配置: SDK 和源碼
??????? 首先申明一下: 我的環(huán)境. Win7 + VS2008 +? DirectX SDK (February 2010)
??????? 一、SDK(這個(gè)不需要進(jìn)行源碼編譯)
?????? 這個(gè)版本,主要是為那些需要用OGRE,但是不打算研究的。
??????? 學(xué)過(guò)DirectX的人都應(yīng)指導(dǎo)SDK應(yīng)怎么配置吧,就是配置lib 和 include: 但是由于OGRE中引入Bosst(這個(gè)即將引入標(biāo)準(zhǔn)庫(kù)的,類似STL)的東西,所以還是需要配置一下Boost的lib和include庫(kù),不過(guò)你沒(méi)必要自己去下,OGRE里面就有,下面說(shuō)說(shuō)詳細(xì)的:
??????? 1、首先到OGRE的官網(wǎng)下載SDK:最新版本是1.7.2:根據(jù)自己的平臺(tái)和編譯器,下載合適的版本網(wǎng)址:http://www.ogre3d.org/download/sdk
???????? 2、首先你的機(jī)器上必須有DirectX 或者 OpenGL 這樣一個(gè)圖形處理的SDK:
???????? 看一下整個(gè)操作:
??????????a、安裝并配置DirectX SDK(官方建議的版本是DirectX SDK - February 2010。不同版本的DXSDK可能會(huì)造成OGRE編譯失敗,這個(gè)要注意。)
??????????????? 1、把DirectX SDK里的include文件夾添加進(jìn)包含文件中
??????????????? 2、把DirectX SDK里的Lib\x86文件夾添加進(jìn)庫(kù)文件中
????????????????3、把DirectX SDK里的Utilities\Bin\x86添加進(jìn)可執(zhí)行文件中
這三步是在vs2008中使用的時(shí)候要配置的,如果單單只是要cmake編譯OGRE的源代碼的話,不需要配置的,只要裝一下DirectX SDK (February 2010)就行了,cmake中Configure的時(shí)候,會(huì)自動(dòng)找到里面的include和lib文件的。。
??????????b 、安裝并配置OGRE SDK 1.7
???????1、把OgreSDK_vc9_v1-7-2\include\OGRE添加進(jìn)包含文件中
?????? 2、把OgreSDK_vc9_v1-7-2\boost_1_44添加進(jìn)包含文件中(注意:由于ORGE中使用了boost不 添加這個(gè)的話就會(huì)提示少tss.hpp)
????? ?3、把OgreSDK_vc9_v1-7-2\lib\debug添加進(jìn)庫(kù)文件中? //這個(gè)和以往的不同
?????? 4、把OgreSDK_vc9_v1-7-2\boost_1_44\lib添加進(jìn)庫(kù)文件中
??????? 然后整個(gè)編譯一邊OGRE.sln的這個(gè)解決方案:
??????? 最后你想看里面的例子的話,就得打開(kāi)SampleBrower的那個(gè)工程:調(diào)試-》開(kāi)始執(zhí)行(不調(diào)試)。
??????? 通過(guò)上面可以看到,SDK是很方便、很簡(jiǎn)單的,不過(guò)我使用的是用OGRE的源代碼進(jìn)行編譯的,如下面所述的方法。
??????? 二、 通過(guò)源代碼編譯:
?????? 首先你得準(zhǔn)備三樣?xùn)|西:
?????? 1、OGRE的源碼:想編譯OGRE,最起碼要有OGRE的源碼吧。可以去官方網(wǎng)站下載最新的源碼包,我這里用的是1.7.2版本的,下載下來(lái)的文件叫 ogre_src_v1-7-2.exe。運(yùn)行下載下來(lái)的程序,解壓源碼到一個(gè)目錄下備用(我的目錄為:E:\ogre_src_v1-7-2)。
?????? 2、下載并安裝DirectX SDK,官方建議的版本是DirectX SDK - February 2010。不同版本的DXSDK可能會(huì)造成OGRE編譯失敗,這個(gè)要注意。
??????? 3、下載依賴包,OGRE的依賴包可以在Visual Studio Dependencies上下載到。將下載的依賴包解壓到OGRE源碼所在目錄下,保持默認(rèn)文件夾名稱“Dependencies”就好。解壓好的依賴包位置如下圖。
??????? 4、進(jìn)入剛才解壓出來(lái)的依賴包Dependencies的目錄下的src文件夾,打開(kāi)OgreDependencies.VS2008.sln,Debug和Release各編譯一次。
?????? 5、安裝Boost庫(kù),這個(gè)非必須,但是建議安裝上去,以提高性能和開(kāi)啟后臺(tái)加載等一些功能。
???????建議的Boost庫(kù)版本為1.44.0,Windows用戶可以通過(guò)下載Boostpro Boost Installers安裝(我下載的是:boost_1_44_setup.exe?),安裝時(shí)確保選中了"Multithreaded"和"Multithreaded Debug",選擇庫(kù)的時(shí)候,要選上Boost Date Time 和 Boost Thread。
??????? 6、.下載并安裝cmake,官方網(wǎng)站是:http://www.cmake.org/。(我下載的是cmake-2.8.5-win32-x86.exe)
????? 至此,編譯前的準(zhǔn)備工作全部完成,下面進(jìn)入OGRE的編譯環(huán)節(jié)。?????
???????? 點(diǎn)擊cmake界面左下角的Configure按鈕,從圖中可以看出,程序會(huì)自動(dòng)找到Boost的安裝路徑,并把include和lib路徑包含進(jìn)來(lái)。
????????? 從上圖中可以看出,程序會(huì)自動(dòng)找到下載到的依賴包Dependencies中的include和lib。
???????? 從上圖中可以看出,程序會(huì)自動(dòng)找到DirectX SDK (February 2010)中的include和lib。
???????? 從上圖中可以看出,程序會(huì)自動(dòng)找到依賴包中OIS的include和lib。
?????????? 第一次配置需要選擇編譯器,我們選擇vs2008? 32bit。
7、待第一遍配置完成后,可以看到配置選項(xiàng)都是紅色,這時(shí),再次點(diǎn)擊Configure按鈕,執(zhí)行完成后選項(xiàng)變?yōu)榛疑?#xff08;這一步的作用是使用OGRE默認(rèn)配置來(lái)配置編譯環(huán)境)
8、配置完成之后,點(diǎn)擊Configure按鈕右側(cè)的Generate按鈕生成項(xiàng)目。
9、執(zhí)行完成后,cmake會(huì)將項(xiàng)目生成到之前配置的"Where to build the binaries"路徑下。
10、打開(kāi)"Where to build the binaries"路徑,會(huì)發(fā)現(xiàn)cmake已經(jīng)為我們生成了整個(gè)OGRE工程,打開(kāi)OGRE.sln,編譯即可。
附加:第7步中的:再次點(diǎn)擊Configure按鈕,執(zhí)行完成后選項(xiàng)變?yōu)榛疑?#xff0c;說(shuō)明配置成功了,配置成功的提示如下:
Check for working C compiler using: Visual Studio 9 2008
Check for working C compiler using: Visual Studio 9 2008 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 9 2008
Check for working CXX compiler using: Visual Studio 9 2008 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Configuring OGRE 1.7.2
Check size of void*
Check size of void* - done
Search path: E:/ogre_src_v1-7-2/build/Dependencies;E:/ogre_src_v1-7-2/Dependencies;E:/ogre_src_v1-7-2/build/../Dependencies;E:/ogre_src_v1-7-2/../Dependencies
Looking for ZLIB...
Found ZLIB: optimized;E:/ogre_src_v1-7-2/Dependencies/lib/release/zlib.lib;debug;E:/ogre_src_v1-7-2/Dependencies/lib/debug/zlibd.lib
Looking for ZZip...
Found ZZip: optimized;E:/ogre_src_v1-7-2/Dependencies/lib/release/zziplib.lib;debug;E:/ogre_src_v1-7-2/Dependencies/lib/debug/zziplibd.lib
Looking for FreeImage...
Found FreeImage: optimized;E:/ogre_src_v1-7-2/Dependencies/lib/release/FreeImage.lib;debug;E:/ogre_src_v1-7-2/Dependencies/lib/debug/FreeImaged.lib
Looking for FREETYPE...
CMAKE_PREFIX_PATH: E:/ogre_src_v1-7-2/build/Dependencies;E:/ogre_src_v1-7-2/Dependencies;E:/ogre_src_v1-7-2/build/../Dependencies;E:/ogre_src_v1-7-2/../Dependencies
Found FREETYPE: optimized;E:/ogre_src_v1-7-2/Dependencies/lib/release/freetype2311.lib;debug;E:/ogre_src_v1-7-2/Dependencies/lib/debug/freetype2311_D.lib
Found OpenGL: opengl32
Looking for DirectX...
DirectX_PREFIX_PATH changed.
Found DirectX: C:/Program Files/Microsoft DirectX SDK (February 2010)/Lib/x86/d3d9.lib
DX lib dir: C:/Program Files/Microsoft DirectX SDK (February 2010)/Lib/x86
DX lib dir: C:/Program Files/Microsoft DirectX SDK (February 2010)/Lib/x86
Looking for Cg...
Cg_PREFIX_PATH changed.
Found Cg: optimized;E:/ogre_src_v1-7-2/Dependencies/lib/release/cg.lib;debug;E:/ogre_src_v1-7-2/Dependencies/lib/debug/cg.lib
Looking for POCO...
Could not locate POCO
Looking for TBB...
Could not locate TBB
Looking for OIS...
OIS_PREFIX_PATH changed.
Found OIS: optimized;E:/ogre_src_v1-7-2/Dependencies/lib/release/OIS.lib;debug;E:/ogre_src_v1-7-2/Dependencies/lib/debug/OIS_d.lib
Could NOT find Doxygen (missing:? DOXYGEN_EXECUTABLE)
Looking for CppUnit...
Could not locate CppUnit
-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
+ zlib
+ zziplib
+ freeimage
+ freetype
+ OpenGL
+ OpenGL ES
+ DirectX
+ cg
+ boost
+ boost-thread
+ boost-date_time
+ OIS
-----------------------------------------------------------------------------
-- The following OPTIONAL packages could NOT be located on your system.
-- Consider installing them to enable more features from this software.
+ POCO: POCO framework <http://pocoproject.org/>
+ tbb: Threading Building Blocks <http://www.threadingbuildingblocks.org/>
+ Doxygen: Tool for building API documentation <http://doxygen.org>
+ CppUnit: Library for performing unit tests <http://cppunit.sourceforge.net>
-----------------------------------------------------------------------------
----------------------------------------------------------------------------
? FEATURE SUMMARY
----------------------------------------------------------------------------
Building components:
? + Paging
? + Property
? + Terrain
? + RTShader System
? + RTShader System Core Shaders
? + RTShader System Extensions Shaders
Building plugins:
? + BSP scene manager
? + Cg program manager
? + Octree scene manager
? + Portal connected zone scene manager
? + Particle FX
Building rendersystems:
? + Direct3D 9
? + OpenGL
Building executables:
? + Samples
? + Tools
Building core features:
? + DDS image codec
? + FreeImage codec
? + ZIP archives
Build type:????????????????????? dynamic
Threading support:?????????????? background (boost)
Use double precision:??????????? disabled
Allocator type:????????????????? nedmalloc (pooling)
STL containers use allocator:??? enabled
Strings use allocator:?????????? disabled
Memory tracker (debug):????????? disabled
Memory tracker (release):??????? disabled
Use new script compilers:??????? enabled
Use Boost:?????????????????????? enabled
----------------------------------------------------------------------------
Configuring done
?
總結(jié)
以上是生活随笔為你收集整理的OGRE 1.7.2 [Cthugha] 编译配置全过程方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 课程设计---图书登记管理系统
- 下一篇: Ogitor的编译配置全过程