ogre 1.7.0的下载、配置和编译指南

-----------------------------------------------

  1. ogre 1.7.0的下载地址:https://sourceforge.net/projects/ogre/files/ogre/1.7/ogre-v1-7-0.zip/download

  2. ogre 1.7.0依赖库的下载地址(不定期更新,请关注该贴):http://www.ogre3d.org/forums/viewtopic.php?f=1&t=54533

  3. 将ogre解压,建议将解压后生成的ogre目录改名为对应的版本号,例如:F:\SDK\ogre-v1-7-0,以区分各个版本

  4. 将依赖库解压到ogre的目录中,例如:F:\SDK\ogre-v1-7-0\Dependencies

  5. 根据自己的VC版本打开F:\SDK\ogre-v1-7-0\Dependencies\src目录中对应的工程VS20XX.sln

  6. 编译出依赖库的debug和release

  7. 下载最新版本的cmake:http://www.cmake.org/cmake/resources/software.html

  8. 解压cmake到任意目录,例如:F:\Tools\cmake-2.8.0-win32-x86

  9. 运行F:\Tools\cmake-2.8.0-win32-x86\bin\cmake-gui.exe

  10. 在"Where is the source code"和"Where to build the binaries"中分别设置ogre的解压路径,例如:F:\SDK\ogre-v1-7-0

  11. 点击configure,选择好VC的版本

  12. 点击Generate后将生成OGRE.sln

  13. 编译出ogre的debug和release

  14. 如果不需要运行samples,那么只需要编译OgreMain、RenderSystem_Direct3D9(或其他)和所需的Plugin即可

  cegui 0.7.1的下载、配置和编译指南

  -----------------------------------------------

  1. cegui 0.7.1的下载地址:http://prdownloads.sourceforge.net/crayzedsgui/CEGUI-0.7.1.zip?download

  2. cegui 0.7.1依赖库的下载地址:http://prdownloads.sourceforge.net/crayzedsgui/CEGUI-DEPS-0.7.x-r1-vc9.zip?download

  3. 将cegui解压,建议将解压后生成的cegui目录改名为对应的版本号,例如:F:\SDK\cegui-v0-7-1,以区分各个版本

  4. 将依赖库解压到cegui的目录中,例如:F:\SDK\cegui-v0-7-1\Dependencies

  5. 进入目录F:\SDK\cegui-v0-7-1\projects\premake

  6. 用记事本打开[来源:GameRes.com]目录下的config.lua,找到两个变量:OGRE_PATHS和OIS_PATHS

  7. 将其修改成对应的ogre和ois的路径,例如:

  OGRE_PATHS = { "F:\SDK\ogre-v1-7-0", "OgreMain/include", "lib" }

  OIS_PATHS = { "F:\SDK\ogre-v1-7-0/Dependencies/include/OIS/", "", "lib" }

  8. 找到CEGUI_OLD_OIS_API变量,设置为false

  9. 找到OGRE_RENDERER变量,设置为true

  10. 找到SAMPLES_OGRE变量,设置为true

  11. 进入目录F:\SDK\cegui-v0-7-1\projects\premake,运行build_vs2008.bat(或对应的其他版本),你将看到CEGUI.sln

  12. 继续运行build_samples_vs2008.bat(或对应的其他版本),你将看到CEGUISamples.sln

  13. 在编译CEGUI.sln和CEGUISamples.sln时,如果依然存在找不到h或是link错误,请打开工程属性,修改Additional Include Directories和Additional Library Directories中对应的ogre和ois相关的路径

  14. 请注意ogre 1.7.0的lib是生成在debug和release子目录中,记得修改为正确的link路径

  15. 运行sample前,记得先复制F:\SDK\cegui-v0-7-1\dependencies\bin下的所有dll到F:\SDK\cegui-v0-7-1\bin下面,这样就不会报错提示缺少dll了

  各种开源库的配置建议

  -----------------------------------------------

  1. 右键点击我的电脑 -> 属性 -> 高级 -> 环境变量

  2. 根据不同开源库的名称,新建出对应的变量名和路径值,例如:变量OGRE,值为F:\SDK\ogre-v1-7-0

  3. 将VC的Additional Include Directories和Additional Library Directories中将之前的死路径修改为类似:$(OGRE)/OgreMain/include

  4. 未来当ogre或cegui再有升级时,则不需要手动一个个修改路径,只用一次性修改对应的环境变量的值(路径)即可

  5. 请注意,当环境变量发生变化,VC必须重启才能识别


//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  最近老师说让我们学习一下OGRE场景编辑器,网上搜索了很久,最后搜索到了Ogitor学做编辑器的方法,前提是要先编译好OGRE,于是,我就开始看网上的各种资料来学习OGRE,由于没人给予指导,都是自己一点点在网上看别人博客上总结的方法和自己的摸索总结出来的一些方法。。

        首先说一下我会介绍两种办法来配置: SDK 和源码

        首先申明一下: 我的环境. Win7 + VS2008 +  DirectX SDK (February 2010)

        一、SDK(这个不需要进行源码编译)

       这个版本,主要是为那些需要用OGRE,但是不打算研究的。

        学过DirectX的人都应指导SDK应怎么配置吧,就是配置lib 和 include: 但是由于OGRE中引入Bosst(这个即将引入标准库的,类似STL)的东西,所以还是需要配置一下Boost的lib和include库,不过你没必要自己去下,OGRE里面就有,下面说说详细的:

        1、首先到OGRE的官网下载SDK:最新版本是1.7.2:根据自己的平台和编译器,下载合适的版本网址:http://www.ogre3d.org/download/sdk

         2、首先你的机器上必须有DirectX 或者 OpenGL 这样一个图形处理的SDK:

         看一下整个操作:

          a、安装并配置DirectX SDK(官方建议的版本是DirectX SDK - February 2010不同版本的DXSDK可能会造成OGRE编译失败,这个要注意。)

                1、把DirectX SDK里的include文件夹添加进包含文件中
                2、把DirectX SDK里的Lib\x86文件夹添加进库文件中
                3、把DirectX SDK里的Utilities\Bin\x86添加进可执行文件中

这三步是在vs2008中使用的时候要配置的,如果单单只是要cmake编译OGRE的源代码的话,不需要配置的,只要装一下DirectX SDK (February 2010)就行了,cmake中Configure的时候,会自动找到里面的include和lib文件的。。

          b 、安装并配置OGRE SDK 1.7
       1、把OgreSDK_vc9_v1-7-2\include\OGRE添加进包含文件中
       2、把OgreSDK_vc9_v1-7-2\boost_1_44添加进包含文件中(注意:由于ORGE中使用了boost不 添加这个的话就会提示少tss.hpp)

       3、把OgreSDK_vc9_v1-7-2\lib\debug添加进库文件中  //这个和以往的不同
       4、把OgreSDK_vc9_v1-7-2\boost_1_44\lib添加进库文件中

        然后整个编译一边OGRE.sln的这个解决方案:

        最后你想看里面的例子的话,就得打开SampleBrower的那个工程:调试-》开始执行(不调试)。

        通过上面可以看到,SDK是很方便、很简单的,不过我使用的是用OGRE的源代码进行编译的,如下面所述的方法。

        二、 通过源代码编译:
       首先你得准备三样东西:

       1、OGRE的源码:想编译OGRE,最起码要有OGRE的源码吧。可以去官方网站下载最新的源码包,我这里用的是1.7.2版本的,下载下来的文件叫 ogre_src_v1-7-2.exe。运行下载下来的程序,解压源码到一个目录下备用(我的目录为:E:\ogre_src_v1-7-2)。

       2、下载并安装DirectX SDK,官方建议的版本是DirectX SDK - February 2010。不同版本的DXSDK可能会造成OGRE编译失败,这个要注意。
        3、下载依赖包,OGRE的依赖包可以在Visual Studio Dependencies上下载到。将下载的依赖包解压到OGRE源码所在目录下,保持默认文件夹名称“Dependencies”就好。解压好的依赖包位置如下图。

        4、进入刚才解压出来的依赖包Dependencies的目录下的src文件夹,打开OgreDependencies.VS2008.sln,Debug和Release各编译一次。

       5、安装Boost库,这个非必须,但是建议安装上去,以提高性能和开启后台加载等一些功能。
       建议的Boost库版本为1.44.0,Windows用户可以通过下载Boostpro Boost Installers
安装(我下载的是:boost_1_44_setup.exe ),安装时确保选中了"Multithreaded"和"Multithreaded Debug",选择库的时候,要选上Boost Date Time 和 Boost Thread。

        6、.下载并安装cmake,官方网站是:http://www.cmake.org/。(我下载的是cmake-2.8.5-win32-x86.exe)

      至此,编译前的准备工作全部完成,下面进入OGRE的编译环节。     

         点击cmake界面左下角的Configure按钮,从图中可以看出,程序会自动找到Boost的安装路径,并把include和lib路径包含进来。

          从上图中可以看出,程序会自动找到下载到的依赖包Dependencies中的include和lib。

         从上图中可以看出,程序会自动找到DirectX SDK (February 2010)中的include和lib。

         从上图中可以看出,程序会自动找到依赖包中OIS的include和lib。

           第一次配置需要选择编译器,我们选择vs2008  32bit。

  7、待第一遍配置完成后,可以看到配置选项都是红色,这时,再次点击Configure按钮,执行完成后选项变为灰色。(这一步的作用是使用OGRE默认配置来配置编译环境)

  8、配置完成之后,点击Configure按钮右侧的Generate按钮生成项目。

  9、执行完成后,cmake会将项目生成到之前配置的"Where to build the binaries"路径下。

  10、打开"Where to build the binaries"路径,会发现cmake已经为我们生成了整个OGRE工程,打开OGRE.sln,编译即可。

附加:第7步中的:再次点击Configure按钮,执行完成后选项变为灰色,说明配置成功了,配置成功的提示如下:

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

///

对于一个入门的新人来说,搭建环境真是很麻烦,弄了很久。OGRE官网下的OGRE 3D 1.7 Beginners Guide .pdf还是缺少很多环境搭建的细节地方,我把自己搭建环境的过程整理了一下,希望对新人有点点帮助,老手的话就别看了。

 

第一步:下载需要的软件 (这个估计就要一天)

 

1.OgreSDK_vc9_v1-7-2.exe (这个目前比较新,当然你也可以下老的版本,大概50M)

2.DirectX SDK 开发包 (这个版本非常多,我下的是2010年以后的版本9.28.1886,大小大概570M,够你下很久了)

3.cmake-2.8.4-win32-x86.exe  (非必须软件,但建议下载,去cmake官方找,很小的软件,不到10M,我的操作系统是WIN 32位的,所以下了这个)

4.VS2008 (大小达到3.8G,团队版更大,一般人都应该装过,不赘述,可以去verycd下载)

5.VS 2008 SP1补丁 (大概850M,恩多地方可以下,不赘述)

 

第二步:安装

 

前4个软件基本都可以正常装好,SP1补丁装到最后的时候可能遇到一点问题。一般是进度条安装到最后VS90sp1-KB945140-X86-CHS这个包的时候会卡住不动,等N个小时也没用。一般的做法是结束掉SPInstaller.exe这个进程,如果发现还有msiexec.exe进程的话也结束掉,否则无法运行。然后找到VS90sp1-KB945140-X86-CHS.msp这个文件,双击开始安装 ,然后就等着吧,大概几分钟,SP1就算装完了。

 

还有要注意安装DirectX SDK的时候先关闭VS2008。安装完后再开,这样VS2008会自动检测到新加入的DX环境变量。

 

第三步:配置环境

 

A.检查VS2008的工具/选项/VC++目录里面的包含文件和库文件有没有你安装的DirectX SDK,如果没有的话你就要手动添加:

1.把DirectX SDK安装目录里的include文件夹添加进包含文件中
2.把DirectX SDK安装目录里的Lib\x86文件夹添加进库文件中
3.把DirectX SDK安装目录里的Utilities\Bin\x86添加进可执行文件中

 

B.再检查VS2008里工具/选项/VC++目录里面的包含文件和库文件有没有你安装的OGRE SDK,如果没有的话你就要手动添加:

 

1.把OgreSDK_vc9_v1-7-2\include\OGRE添加进包含文件中
2.把OgreSDK_vc9_v1-7-2\boost_1_44添加进包含文件中
3.把OgreSDK_vc9_v1-7-2\lib\debug添加进库文件中
4.把OgreSDK_vc9_v1-7-2\boost_1_44\lib添加进库文件中

 

C.配置cmake.

 

先在VS2008里打开OGRE项目(打开OgreSDK_vc9_v1-7-2下面的OGRE.sln文件即可),可以看到解决方案有34个项目,最下面那个叫SampleBrowser,右键点击把它设置为我们的启动项目。然后再右键点击,属性,生成事件,预链接事件,在右边的“命令行”路径那里比对一下,看看双引号里的路径是不是自己安装的cmake的路径,如果不是的话就将其改为本地cmake.exe的路径 ,比如我把CMAKE装在C盘根目录,那就应该填的是"C:\Cmake 2.8\bin\cmake.exe".后面的参数不要变就行。如果不一致的话,可能会报这样的错误:

 

Project : error PRJ0019: 某个工具从以下位置返回了错误代码: "正在执行生成后事件..."

 

也有人说在设置路径那个地方,将“从生成中排除”选择“是”,但是个人感觉不好。

 

 

第四步:开始运行

 

从这里开始将会遇到无数错误,希望大家保持耐心。

 

在VS2008里点,生成,重新生成解决方案。然后等待吧(大概是有5分,或者更长时间)

 

不出意外的话,应该全部重新生成,没有失败。

 

然后我们去查看bin/debug目录,可以看到一堆文件,找到SampleBrowser_d.exe,运行,第一次会出来一个窗口,选择render system.默认情况下会给你两个选择,一个是DIRECTX一个是OPENGL,如下:

 


 

当时我选择了OPENGL,然后就悲剧了,直接黑屏 (不要以为死机了,其实可以按alt+f4回来)。以后每次运行都会黑屏,很郁闷。遇到这样的情况就要去修改配置文件了。找到bin/debug目录下的plugins.cfg(非常重要的配置文件),用文本编辑器打开,可以看到类似下面的内容:

 

# Defines plugins to load
# Define plugin folder
PluginFolder=.
# Define plugins
Plugin=RenderSystem_Direct3D9_d
Plugin=RenderSystem_GL_d
Plugin=Plugin_ParticleFX_d
Plugin=Plugin_BSPSceneManager_d
Plugin=Plugin_CgProgramManager_d
Plugin=Plugin_PCZSceneManager_d.dll
Plugin=Plugin_OctreeZone_d.dll
Plugin=Plugin_OctreeSceneManager_d

 

 

这里因为我没有安装OPENGL的相关类库,所以应该把OPENGL相关的Plugin给注释掉 ,如下:

#Plugin=RenderSystem_GL_d

 

改好了之后保存文件,再运行SampleBrowser_d.exe,或者直接在VS里启动调试,这次应该可以重新选render System.老老实实选择我们安装好的DIRECX,然后点OK。这次应该可以了。运行之后一般是全屏的,没关系,进去后选择configure,里面可以选择Full Screen模式是或者否。

 

第五步:在新项目里运行

 

这时候我们想一想,我们现在操作的其实是OGRE SDK里的源代码,要是直接改来改去的似乎有点不妥当,最好是重新建一个项目,在那个项目里进行操作,也好和标准进行比对,这个时候cmake就起作用了。

 

我们打开cmake.exe,在where is the source code 栏目里填上你的OGRE SDK路径 ,比如我的是E:/OGRE/OgreSDK_vc9_v1-7-2

 

where to build the binaries栏目里填上你新建的目录的位置 ,比如我填的是E:/OGRE/example

 

然后点configure(如果点了还有红色的报错,试着再点一次),然后点Generate。几秒之内就OK了,非常方便。

 

然后我们来到自己新建的那个目录下(比如我刚才的example),可以看到和SDK相似的一个结构,也有一个OGRE.sln文件,可以直接打开,载入我们新生成的这个项目。选定SampleBrowser作为启动项目,然后点 生成-重新生成解决方案,等待34个项目重新生成,最后点启动调试。步骤应该都很熟悉了。但是这个时候会报错:

 

OGRE EXCEPTION(7:InternalErrorException): ../../media/packs/SDKTrays.zip - error whilst opening archive: Unable to read zip file

 

SDKTrays.zip应该是一个资源文件,出这个错一般是因为bin/debug下的 resources_d.cfg这个配置文件找不到SDKTrays.zip这个文件(文件不存在)或者是路径写错了。于是是赶紧去检查目录下该文件是否存在,结果发现原来没有media目录(该目录保存着各个例子需要的资源文件),于是去SDK下把它的media目录copy到我们新建的项目目录下来 (与Bin,samples等目录同级),再运行。这次终于可以了。

 


 至此可以说OGRE的环境基本建好,但这只是万里长征的第一小步(好远。。。。)。一路上可能会遇到各种各样的错误,强烈建议先查看ogre.log 这个日志文件,再判断可能是哪里错了。这个文件的位置一般在:

C:\Documents and Settings\你的用户名\My Documents\Ogre\Cthugha

 

好了,现在开始迈进OGRE的大门了。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值