前几天使用Ogre1.6.5中自带的CEGUI0.5.1出现资源不能定位的问题,总是在CEGUI::DefaultResourceProvider的成员方法setResourceDirectory()崩溃,估计是版本太低问题,所以,索性将CEGUI升级到了CEGUI0.7.1,并且Ogre使用1.7.0。
按照官网上的说法:如下配置:
ogre 1.7.0的下载、配置和编译指南
- ogre 1.7.0的下载地址:https://sourceforge.net/projects/ogre/files/ogre/1.7/ogre-v1-7-0.zip/download
- ogre 1.7.0依赖库的下载地址(不定期更新,请关注该贴):http://www.ogre3d.org/forums/viewtopic.php?f=1&t=54533
- 将ogre解压,建议将解压后生成的ogre目录改名为对应的版本号,例如:F:/SDK/ogre-v1-7-0,以区分各个版本
- 将依赖库解压到ogre的目录中,例如:F:/SDK/ogre-v1-7-0/Dependencies
- 根据自己的VC版本打开F:/SDK/ogre-v1-7-0/Dependencies/src目录中对应的工程VS20XX.sln
- 编译出依赖库的debug和release
- 下载最新版本的cmake:http://www.cmake.org/cmake/resources/software.html
- 解压cmake到任意目录,例如:F:/Tools/cmake-2.8.0-win32-x86
- 运行F:/Tools/cmake-2.8.0-win32-x86/bin/cmake-gui.exe
- 在"Where is the source code"和"Where to build the binaries"中分别设置ogre的解压路径,例如:F:/SDK/ogre-v1-7-0
- 点击configure,选择好VC的版本
- 点击Generate后将生成OGRE.sln
- 编译出ogre的debug和release
- 如果不需要运行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. 用记事本打开目录下的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了
各种开源库的配置建议
- 右键点击我的电脑 -> 属性 -> 高级 -> 环境变量
- 根据不同开源库的名称,新建出对应的变量名和路径值,例如:变量OGRE,值为F:/SDK/ogre-v1-7-0
- 将VC的Additional Include Directories和Additional Library Directories中将之前的死路径修改为类似:$(OGRE)/OgreMain/include
- 未来当ogre或cegui再有升级时,则不需要手动一个个修改路径,只用一次性修改对应的环境变量的值(路径)即可
- 请注意,当环境变量发生变化,VC必须重启才能识别
good luck,祝你在open source的路上一路顺风~