Ogre 1.8.1源代码编译和错误修改
2015-08-30 19:44
253 查看
写在一边,最好不要略过的话。
这篇blog是按照编译–>出错–>解决错误–>再编译 的方式写的。
我认为这种逐步改错的过程有助于学习和理解,所以这样写的。
最节约时间的方法,就是先全部看完,解决所有的错误,然后编译,一次成功。
编译环境:Visual Studio 2013。
编译ogre1.8.1源码。
http://www.cmake.org/download/
我下载的是cmake-3.2.1-win32-x86.exe
(2)下载ogre的Visual Studio Dependenciesogre 在如下链接:
http://sourceforge.net/projects/ogre/files/ogre-dependencies-vc%2B%2B/1.7/OgreDependencies_MSVC_20101231.zip/download
(3)下载ogre源代码在如下链接:
http://www.ogre3d.org/download/source
我下载的是OGRE 1.8.1 Source For Windows。
下载后文件如下图:
将OgreDependencies_MSVC_20101231文件夹下的Dependencies文件夹放到ogre_src_v1-8-1文件夹下。
ogre_src_v1-8-1文件夹移动到适当的位置。这里我将ogre_src_v1-8-1文件放在D盘根目录下。
由于没有vs2013的sln文件。先打开vs2013,从这里打开OgreDependencies.VS2010.sln文件,会提示转换对话框,确定即可。
选择解决方案平台 x64,编译Debug版本解决方案。
有编译错误,错误提示如下:
分别在几个错误提示的文件中添加代码如下:
编译Debug版本解决方案通过,再编译Release版本,通过。
Dependencies编译完成,关闭vs2013.
source code 中选择文件夹:D:\ogre_src_v1-8-1。
在 D:\ogre_src_v1-8-1文件夹下新建目录:Build。
build of binaries中选择文件夹:D:\ogre_src_v1-8-1\Build
点击“Configure”按钮,选择对应的vs版本。我选择的是vs2013。
“完成”后,结果如下图。
再次点击“Configure”按钮,结果如下图。
点击“Generate”按钮,结果如下图。
cmake生成代码完成。关闭cmake_gui.exe。
选择解决方案平台x64,编译生成 debug版本的ALL_BUILD项目。
这里编译需要等待10分钟。
编译成功。
再生成INSTALL项目。
如果这个时候有错误,很可能是因为vs2013启动的时候不是用管理员身份。关闭vs,再“以管理员身份运行”Visual Studio 2013,打开OGRE.sln文件,生成INSTALL项目,就可以成功。
-编译生Release版本的ALL_BUILD项目和INSTALL项目。
到这里你就已经成功编译生成的Ogre引擎的的源码!
辛苦~(≧▽≦)/~啦啦啦!先撒花,撒花!休息,休息!然后我们还用很多事情要忙!
错误提示如下:
将D:\ogre_src_v1-8-1\Dependencies\bin\Debug文件夹下的OIS_d.dll文件和 cg.dll文件复制到D:\ogre_src_v1-8-1\Build\bin\debug文件夹下。
再运行。
错误提示如下:
右击SampleBrowser项目,进入项目属性页面,
配置属性–>调试–>工作路径 修改为: $(TargetDir)
再运行。已经可以看见一个显示黑色窗口的对话框运行了,然后提示错误。
错误提示如下:
这个错误是由于Ogre配置禁止了zip文件的解析,所以在载入resources_d.cfg文件中的资源的时候无法解析Zip格式的资源。
有一个傻方法可以解决,就是将D:\ogre_src_v1-8-1\Build\bin\debug\resources_d.cfg文件中Zip资源都手动解压缩,然后再添加到资源列表。
例如:Zip=D:/ogre_src_v1-8-1/Samples/Media/packs/SdkTrays.zip
首先将SdkTrays.zip解压缩到D:/ogre_src_v1-8-1/Samples/Media/packs/SdkTrays文件夹下。
然后,在resources_d.cfg文件中将上面那行改写成
FileSystem=D:/ogre_src_v1-8-1/Samples/Media/packs/SdkTrays
然后再修改其它Zip。看起来还很多,这应该也挺麻烦的。
那我们还可以采用第二种方法,让Ogre引擎支持Zip文件的解析。
其实Ogre引擎中已经有支持Zip文件的代码,几年前我编译的时候是配置好的,现在我们只需要自己配置编译,让它支持Zip文件的解析就可以一劳永逸了。
具体步骤如下:
在OgreMain项目中“添加现有项”
D:\ogre_src_v1-8-1\OgreMain\src文件夹下的OgreZip.cpp文件,
和D:\ogre_src_v1-8-1\OgreMain\include文件夹下 OgreZip.h文件。
将 OgreMain项目中D:\ogre_src_v1-8-1\Build\include\OgreBuildSettings.h文件中44行代码
改为:
OgreMain项目–>属性–>连接器–>输入–>附加依赖项 中添加一行如下:
..\..\Dependencies\lib\debug\zziplibd.lib
编译生成OgreMain项目。成功。
编译生成 ALL_BUILD项目,成功。
运行SampleBrowser项目,可以看到Ogre自带的实例。
这篇blog是按照编译–>出错–>解决错误–>再编译 的方式写的。
我认为这种逐步改错的过程有助于学习和理解,所以这样写的。
最节约时间的方法,就是先全部看完,解决所有的错误,然后编译,一次成功。
一、编译生成Ogre 1.8.1源代码
0、我的系统环境
操作系统:64位Windows7编译环境:Visual Studio 2013。
编译ogre1.8.1源码。
1、下载软件和源代码
(1)cmake安装文件下载:http://www.cmake.org/download/
我下载的是cmake-3.2.1-win32-x86.exe
(2)下载ogre的Visual Studio Dependenciesogre 在如下链接:
http://sourceforge.net/projects/ogre/files/ogre-dependencies-vc%2B%2B/1.7/OgreDependencies_MSVC_20101231.zip/download
(3)下载ogre源代码在如下链接:
http://www.ogre3d.org/download/source
我下载的是OGRE 1.8.1 Source For Windows。
下载后文件如下图:
2、安装cmake3.2.1
安装cmake到电脑,步骤略。3、解压缩源代码
解压缩ogre_src_v1-8-1.exe和OgreDependencies_MSVC_20101231.zip文件。将OgreDependencies_MSVC_20101231文件夹下的Dependencies文件夹放到ogre_src_v1-8-1文件夹下。
ogre_src_v1-8-1文件夹移动到适当的位置。这里我将ogre_src_v1-8-1文件放在D盘根目录下。
4、编译Dependencies
进入D:\ogre_src_v1-8-1\Dependencies\src文件夹,打开sln文件。由于没有vs2013的sln文件。先打开vs2013,从这里打开OgreDependencies.VS2010.sln文件,会提示转换对话框,确定即可。
选择解决方案平台 x64,编译Debug版本解决方案。
有编译错误,错误提示如下:
分别在几个错误提示的文件中添加代码如下:
#include <algorithm>
编译Debug版本解决方案通过,再编译Release版本,通过。
Dependencies编译完成,关闭vs2013.
5、用cmake生成代码
打开cmake_gui.exe。source code 中选择文件夹:D:\ogre_src_v1-8-1。
在 D:\ogre_src_v1-8-1文件夹下新建目录:Build。
build of binaries中选择文件夹:D:\ogre_src_v1-8-1\Build
点击“Configure”按钮,选择对应的vs版本。我选择的是vs2013。
“完成”后,结果如下图。
再次点击“Configure”按钮,结果如下图。
点击“Generate”按钮,结果如下图。
cmake生成代码完成。关闭cmake_gui.exe。
6、用vs编译ogre源代码
打开 D:\ogre_src_v1-8-1\Build\OGRE.sln文件。选择解决方案平台x64,编译生成 debug版本的ALL_BUILD项目。
这里编译需要等待10分钟。
编译成功。
再生成INSTALL项目。
如果这个时候有错误,很可能是因为vs2013启动的时候不是用管理员身份。关闭vs,再“以管理员身份运行”Visual Studio 2013,打开OGRE.sln文件,生成INSTALL项目,就可以成功。
-编译生Release版本的ALL_BUILD项目和INSTALL项目。
到这里你就已经成功编译生成的Ogre引擎的的源码!
辛苦~(≧▽≦)/~啦啦啦!先撒花,撒花!休息,休息!然后我们还用很多事情要忙!
二、运行示例代码,修改相关配置bug
下面我们将运行Ogre自带的示例文件,最近新下载的Ogre源代码产生一个以前没有的限制。下面要耐心的改bug了!1、运行SampleBrowser项目
将SampleBrowser项目“设为启动项目”,调试运行。错误提示如下:
将D:\ogre_src_v1-8-1\Dependencies\bin\Debug文件夹下的OIS_d.dll文件和 cg.dll文件复制到D:\ogre_src_v1-8-1\Build\bin\debug文件夹下。
再运行。
错误提示如下:
右击SampleBrowser项目,进入项目属性页面,
配置属性–>调试–>工作路径 修改为: $(TargetDir)
再运行。已经可以看见一个显示黑色窗口的对话框运行了,然后提示错误。
错误提示如下:
这个错误是由于Ogre配置禁止了zip文件的解析,所以在载入resources_d.cfg文件中的资源的时候无法解析Zip格式的资源。
有一个傻方法可以解决,就是将D:\ogre_src_v1-8-1\Build\bin\debug\resources_d.cfg文件中Zip资源都手动解压缩,然后再添加到资源列表。
例如:Zip=D:/ogre_src_v1-8-1/Samples/Media/packs/SdkTrays.zip
首先将SdkTrays.zip解压缩到D:/ogre_src_v1-8-1/Samples/Media/packs/SdkTrays文件夹下。
然后,在resources_d.cfg文件中将上面那行改写成
FileSystem=D:/ogre_src_v1-8-1/Samples/Media/packs/SdkTrays
然后再修改其它Zip。看起来还很多,这应该也挺麻烦的。
那我们还可以采用第二种方法,让Ogre引擎支持Zip文件的解析。
其实Ogre引擎中已经有支持Zip文件的代码,几年前我编译的时候是配置好的,现在我们只需要自己配置编译,让它支持Zip文件的解析就可以一劳永逸了。
具体步骤如下:
在OgreMain项目中“添加现有项”
D:\ogre_src_v1-8-1\OgreMain\src文件夹下的OgreZip.cpp文件,
和D:\ogre_src_v1-8-1\OgreMain\include文件夹下 OgreZip.h文件。
将 OgreMain项目中D:\ogre_src_v1-8-1\Build\include\OgreBuildSettings.h文件中44行代码
#define OGRE_NO_ZIP_ARCHIVE 1
改为:
#define OGRE_NO_ZIP_ARCHIVE 0
OgreMain项目–>属性–>连接器–>输入–>附加依赖项 中添加一行如下:
..\..\Dependencies\lib\debug\zziplibd.lib
编译生成OgreMain项目。成功。
编译生成 ALL_BUILD项目,成功。
运行SampleBrowser项目,可以看到Ogre自带的实例。
相关文章推荐
- java并发编程实战第六章(1)并发集合介绍
- C++中定义自己的头文件
- 2012 #5 Gold miner
- 开启java生活
- Java发送短信
- 适配器模式
- int * const p 与int const *p或者const int *p的区别
- C#——获取本机IP
- 【Python爬虫学习笔记(2)】正则表达式(re模块)相关知识点总结
- STL与泛型编程(1)---模板
- struts2之Action 4000 名称的搜索顺序
- 装饰者模式
- java RTTI笔记整理
- JAVA问题总结之19--方法的重载(overload)
- C#自学笔记
- 实训第一周java小练习
- 汉字的区码和位码怎么用C语言求出来的方法
- Java学习之路:不走弯路,就是捷径
- 【python】strip()的用法
- 给定数量不限的硬币,币值为25分,10分,5分和1分,编写代码计算n分有几种表示法