对于一个入门的新人来说,搭建环境真是很麻烦,弄了很久。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的大门了。
本文来自JavaEye博客,转载请标明出处: