Ogre源码编译教程
最近突然发现Ogre引擎更新到2.1版本了,既然依旧是代码开源,本着学习的精神就下载下来弄弄。但是官网提供的SDK版本只有1.9的,考虑到学习的便利性,因此最好从Source版本开始弄,这样的话以后想一探究竟的时候比较方便不是嘛。。
本教程主要记录的是如何编译Ogre的Source版本并生成SDK,编译环境Windows x64,所有工作目录都保持在英文路径下进行,否则会出现什么奇怪的问题
笔者在摸索清楚整个编译过程中查了许多资料,也都一并将链接放在这里,供大家参考:
- http://www.ogre3d.org/tikiwiki/tiki-index.php?page=CMake+Quick+Start+Guide 这个是教CMake编译Ogre的
- http://www.ogre3d.org/forums/viewtopic.php?f=1&t=83889 坑死笔者的问题,看了这个才知道是为啥=-=
- http://www.ogre3d.org/tikiwiki/tiki-index.php?page=Building+Dependencies 这个介绍了Ogre所需要的依赖库
弄完以后,笔者更加确信了一个真理:有问题,问Google
1、 准备工作:
从Ogre的Bitbucket项目地址:https://bitbucket.org/sinbad/ogre 从这里将Source直接Clone下来,建议使用SourceTree来完成该工作,如果直接下载Zip打包也可以
从https://bitbucket.org/cabalistic/ogredeps 找到Ogre的依赖库,这个依赖库整合了Ogre Source编译需要的必要库,同样的这里用SourceTree搞定
注意,第二个千万不要直接下载Zip包,否则后面会遇到“ No download info given for 'SDL2' and its source directory” 这样的错误,笔者在这里被坑惨了。。直接下载的版本没有SDL2=-=
这两个东西都同步到本地以后,下载cmake的最新版,官方主页是:http://www.cmake.org/ ,下载对应的版本即可,笔者是在Windows下因此下载Windows Binary,安装后准备开始工作
2、Build依赖库(Dependencies):
首先工作是编译依赖库,找一个地方新建一个文件夹用来保存依赖库编译的Output,命名就叫ogredepsBuild吧
如上图所示,打开cmake-gui后,在Where is the source code的位置点击Browse Source...,选择在第一步中同步下载的ogredeps文件夹
在Where to build the binaries的位置点击Browse Build...,选择刚才新建的文件夹,在这里我们起名叫做ogredepsBuild点击下方的Configure后,选择编译目标的IDE环境,笔者使用的是VS2013 x64,选好后点击ok等待完成
完成后,再点击两次Generate就可以完成编译链接工作,这样一来,在ogredepsBuild文件夹中就会生成一个VS项目
打开OGREDEPS.sln后,先将ALL_BUILD进行build,然后再对INSTALL进行build,完成后,在该项目文件夹中会生成一个新的文件夹叫做ogredeps,这里面就保存着编译Ogre所需要的依赖库了,拿好这个进入下一阶段
3、Build Ogre Source:
找一个地方新建名为OgreBuild的文件夹,用于存放Ogre编译后的Output。然后找到第一步中同步下来的Ogre文件夹,打开后新建一个名为Dependencies的文件夹,把第二步生成的依赖库文件copy进来。
打开cmake-gui,在Where is the source code的位置点击Browse Source...,选择Ogre文件夹;在Where to build the binaries的位置点击Browse Build...,选择OgreBuild;然后点击Confgigure,选择编译目标IDE环境,继续
这个步骤中请检查是否提示了一些错误信息,笔者在这里提示了send_errorD:/tools/Ogre/Dependencies/bin/release/OIS.dll did not exist, can't install!,意思是找不到OIS.dll,这个是依赖库的一个dll,不过依赖库内部提供了debug版本,我也就没管,后面用debug进行build也没有影响,如果出现其他问题还请自行核查,一般都是依赖库缺失DLL,自己可以去找一下。完成后会如上图所示。
在这之后再点击两次Generate完成工作,这时候OgreBuild文件夹中已经产生了我们所需要的文件了,找到该文件夹里面的OGRE.sln打开,先将ALL_BUILD进行build,然后再对INSTALL进行build,然后编译工作就基本完成了。
箭头所指示的两个文件夹,bin文件夹存放了编译出来的可以直接运行的内容,sdk文件夹就是本教程的目标了
为了检查效果,我们打开bin/debug文件夹下的SampleBrowser_d.exe,这是Ogre的demo,在Rendering SubSystem中选择对应的渲染引擎后就可以开始了。
另外,如果提示缺少类似OIS_d.dll的话可以直接从依赖库拷贝过来扔到exe所在的目录下,如果exe运行后未响应,说明电脑没有安装对应的渲染引擎。。这时候如果界面也无法调出来重新选,就删除debug内容后重新Build,再或者就是装一个对应的渲染引擎SDK就好了。
Ogre源码编译教程的更多相关文章
- 转:OGRE 源码编译方法
编译及运行环境:Windows 7 . vs2010. 编译前的准备: 1.想编译OGRE,最起码要有OGRE的源码吧.可以去官方网站下载最新的源码包,我这里用的是1.7.2版本的,下载下来的文件叫 ...
- Mysql 源码编译教程贴
题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢! 如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴 环 ...
- 独一无二 hortonworks spark 源码编译教程
hortonworks的源码在github上能找到! https://github.com/hortonworks/spark2-release 找到对应版本release源码后下载到本地 在wind ...
- hadoop 2.7.3 源码编译教程
1.工具准备,最靠谱的是hadoop说明文档里要求具备的那些工具. 到hadoop官网,点击source下载hadoop-2.7.3-src.tar.gz. 解压之 tar -zxvf hadoop- ...
- 【转载】Ogre3d 2.1 源码编译安装教程
原文:Ogre3d 2.1 源码编译安装教程 今年是3D手游年,今年也是游戏引擎战争进入白热的一年. 移动游戏的红海时代,让各大端游也忍不住纷纷伸出大白腿,Unreal.CryEngine纷纷宣布自己 ...
- 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)
写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...
- [转]如何编译tizen源码(图文教程)?
http://blog.csdn.net/flydream0/article/details/9004746 前一篇文章已经介绍了如何下载tizen源码(http://blog.csdn.net/fl ...
- 如何编译tizen源码(图文教程)?
前一篇文章已经介绍了如何下载tizen源码,下面我将继续讲述如何编译源码. 1 下载安装gbs编译工具 tizen源码是用gbs工具进行编译的,因此我们首先得将此工具下载下来,并且设置好. 下面的Ub ...
- 【运维技术】Nginx安装教程(yum安装,源码编译)
安装方式 yum直接更新源安装 源码直接编译之后安装 使用yum进行直接安装 Installing a Prebuilt CentOS/RHEL Package from an OS Reposito ...
随机推荐
- 蜗牛—Hibernate之初识配置
下载Hibernate的jar包 把下面jar文件考到项目lib下 然后在myeclipse中打开database的view视图创建一个新的数据库连接 接下来,配置连接,须要导入ORACLE的jar包 ...
- 最新HTML BroadcastChannel API引荐
HTML BroadcastChannel API 当前浏览器中只有Firefox38唯一能支持BroadcastChannel API(在编写本文的时间点),而Firefox38官方宣称要到2015 ...
- HTML5新增核心工具——canvas
原文:HTML5新增核心工具--canvas Canvas元素称得上是HTML5的核心所在,它是一个依靠JavaScript绘制华丽图像的元素. Canvas由一个可绘制地区HTML代码中的属性定义决 ...
- Cocos2d-x 2.3.3版本 FlappyBird
Cocos2d-x 2.3.3版本 FlappyBird 本篇博客基于Cocos2d-x 2.3.3, 介绍怎样开发一款之前非常火的一款游戏FlappyBird.本篇博客内容大纲例如以下: 1 ...
- POJ 1028 Web Navigation 题解
考查代码能力的题目.也能够说是算法水题,呵呵. 推荐新手练习代码能力. 要添加难度就使用纯C实现一下stack,那么就有点难度了,能够使用数组模拟环形栈.做多了,我就直接使用STL了. #includ ...
- jquery背景动画插件使用
在网页制作动画特效的时候,有时候想通过背景插入图片,然后通过控制背景显示的位置来实现一些动画效果,这样就不用使用绝对定位控制left和top来实现动画效果!但是jquery本身的动画函数是不支持背景动 ...
- CruiseControl.Net全面实现持续集成
使用CruiseControl.Net全面实现持续集成 持续集成想必大家很多人都听说过,甚至都实践过,最近我又一次亲历了一次持续集成,现将我的经验分享给大家.关于持续集成的理论在本文概不涉及,本文 ...
- 使用Flexible实现手淘H5页面的终端适配(转)
曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...
- linux 启动oracle报cannot restore segment prot after reloc: Permission denied
error while loading shared libraries: $ORACLE_HOME/lib/libnnz10.so: cannot restore segment prot afte ...
- [转]当图片源大小大于ImageView大小时的处理方式(缩放)
转一篇当图片源大小大于ImageView大小定死时的处理方法,但不适用于图片大小小于ImageView时的情况,因为inSampleSize不能<1, 谁有特别好的放大的解决方案,除了设置Ima ...