最近突然发现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源码编译教程的更多相关文章

  1. 转:OGRE 源码编译方法

    编译及运行环境:Windows 7 . vs2010. 编译前的准备: 1.想编译OGRE,最起码要有OGRE的源码吧.可以去官方网站下载最新的源码包,我这里用的是1.7.2版本的,下载下来的文件叫 ...

  2. Mysql 源码编译教程贴

    题外话:这是一篇教程贴,不仅学的是mysql的编译,还是一些编译的知识.我也是一个菜鸟,写一些感悟和心得,有什么问题可以批评指正,谢谢! 如果只是为了安装请移到我的另一篇安装贴: Mysql安装贴 环 ...

  3. 独一无二 hortonworks spark 源码编译教程

    hortonworks的源码在github上能找到! https://github.com/hortonworks/spark2-release 找到对应版本release源码后下载到本地 在wind ...

  4. hadoop 2.7.3 源码编译教程

    1.工具准备,最靠谱的是hadoop说明文档里要求具备的那些工具. 到hadoop官网,点击source下载hadoop-2.7.3-src.tar.gz. 解压之 tar -zxvf hadoop- ...

  5. 【转载】Ogre3d 2.1 源码编译安装教程

    原文:Ogre3d 2.1 源码编译安装教程 今年是3D手游年,今年也是游戏引擎战争进入白热的一年. 移动游戏的红海时代,让各大端游也忍不住纷纷伸出大白腿,Unreal.CryEngine纷纷宣布自己 ...

  6. 保姆级教程——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版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  7. [转]如何编译tizen源码(图文教程)?

    http://blog.csdn.net/flydream0/article/details/9004746 前一篇文章已经介绍了如何下载tizen源码(http://blog.csdn.net/fl ...

  8. 如何编译tizen源码(图文教程)?

    前一篇文章已经介绍了如何下载tizen源码,下面我将继续讲述如何编译源码. 1 下载安装gbs编译工具 tizen源码是用gbs工具进行编译的,因此我们首先得将此工具下载下来,并且设置好. 下面的Ub ...

  9. 【运维技术】Nginx安装教程(yum安装,源码编译)

    安装方式 yum直接更新源安装 源码直接编译之后安装 使用yum进行直接安装 Installing a Prebuilt CentOS/RHEL Package from an OS Reposito ...

随机推荐

  1. 蜗牛—Hibernate之初识配置

    下载Hibernate的jar包 把下面jar文件考到项目lib下 然后在myeclipse中打开database的view视图创建一个新的数据库连接 接下来,配置连接,须要导入ORACLE的jar包 ...

  2. 最新HTML BroadcastChannel API引荐

    HTML BroadcastChannel API 当前浏览器中只有Firefox38唯一能支持BroadcastChannel API(在编写本文的时间点),而Firefox38官方宣称要到2015 ...

  3. HTML5新增核心工具——canvas

    原文:HTML5新增核心工具--canvas Canvas元素称得上是HTML5的核心所在,它是一个依靠JavaScript绘制华丽图像的元素. Canvas由一个可绘制地区HTML代码中的属性定义决 ...

  4. Cocos2d-x 2.3.3版本 FlappyBird

    Cocos2d-x 2.3.3版本 FlappyBird   本篇博客基于Cocos2d-x 2.3.3, 介绍怎样开发一款之前非常火的一款游戏FlappyBird.本篇博客内容大纲例如以下:   1 ...

  5. POJ 1028 Web Navigation 题解

    考查代码能力的题目.也能够说是算法水题,呵呵. 推荐新手练习代码能力. 要添加难度就使用纯C实现一下stack,那么就有点难度了,能够使用数组模拟环形栈.做多了,我就直接使用STL了. #includ ...

  6. jquery背景动画插件使用

    在网页制作动画特效的时候,有时候想通过背景插入图片,然后通过控制背景显示的位置来实现一些动画效果,这样就不用使用绝对定位控制left和top来实现动画效果!但是jquery本身的动画函数是不支持背景动 ...

  7. CruiseControl.Net全面实现持续集成

    使用CruiseControl.Net全面实现持续集成   持续集成想必大家很多人都听说过,甚至都实践过,最近我又一次亲历了一次持续集成,现将我的经验分享给大家.关于持续集成的理论在本文概不涉及,本文 ...

  8. 使用Flexible实现手淘H5页面的终端适配(转)

    曾几何时为了兼容IE低版本浏览器而头痛,以为到Mobile时代可以跟这些麻烦说拜拜.可没想到到了移动时代,为了处理各终端的适配而乱了手脚.对于混迹各社区的偶,时常发现大家拿手机淘宝的H5页面做讨论—— ...

  9. 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 ...

  10. [转]当图片源大小大于ImageView大小时的处理方式(缩放)

    转一篇当图片源大小大于ImageView大小定死时的处理方法,但不适用于图片大小小于ImageView时的情况,因为inSampleSize不能<1, 谁有特别好的放大的解决方案,除了设置Ima ...