最近突然发现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. vb.net窗口继承(房重建知识汇总)

    在项目的开发,我们经常会遇到特殊的相界面似窗户,然后,我们将能够使用继承的窗口.透过窗户下面简单的例子来实现继承. 1.创建父窗口Form1 2.把须要重写的事件改为Overridable,将priv ...

  2. Entity Framework查询原理

    Entity Framework查询原理 前言 Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Rela ...

  3. android 如何加入第一3正方形lib图书馆kernel于

    注意:只能lib图书馆kernel编译到位.例如下列: alps/kernel/ alps/mediatek/custom/common/kernel/ alps/mediatek/custom/$p ...

  4. WSockExpert[抓包工具]

    一.WSockExpert简单介绍          WSockExpert是一个抓包工具,它能够用来监视和截获指定进程网络数据的传输,对測试站点时非常实用.在黑客的手中,它经常被用来改动网络发送和接 ...

  5. 多线程学习之一独木桥模式Single Threaded Execution Pattern

    Single Threaded Execution Pattern[独木桥模式] 一:single threaded execution pattern的参与者--->SharedResourc ...

  6. android学习8(ListView高级使用)

    ListView在android更开放的,于是继续ListView说明使用. 首先创建一个android项目,项目名为ListViewTest. ListView的简单使用 改动布局文件,改动后代码例 ...

  7. 基于OCR的SeeTest框架可行性分析总结

    总的来说相比其他几个免费框架,SeeTest功能更全面和易用,但收费有点昂贵:License 3500/年:多平台和多语言(基于OCR)还需要额外购买,分别是500/Year和1750$/.详情请查看 ...

  8. Asp.Net MVC4 + Oracle + EasyUI + Bootstrap

    Asp.Net MVC4 + Oracle + EasyUI + Bootstrap --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.ht ...

  9. Linux分配给该用户没有权限登陆

    Linux分配给该用户没有权限登陆 sudo visudo username ALL=(ALL) NOPASSWD:ALL 版权声明:本文博客原创文章,博客,未经同意,不得转载.

  10. 在ubuntu下开发stm32f4-discovery

    前面零散地记录了一些如何安装编译器,调试器等笔记,这里就准备开始着手试一下这整块系统了. 简单不完全地回顾一下所需要安装的软件: 1 编译器 使用的是codesourcey,因为之前有使用过该套编译器 ...