版权所有,转载请注明链接

OGRE 2.1 Windows 编译

环境:
  Windows 7 64Bit
  Visual Studio 2012
  OGRE 2.1
  CMake 2.8.12.1

OGRE:
  OGRE官方推出了最新的OGRE2.1版本,链接地址:
    https://bitbucket.org/sinbad/ogre/downloads
  新版本的OGRE做出了大量的修改,从官方给出的文档我们可以看出作者们对OGRE进行了优化与完善。从上面链接中下载的官方版本并没有包含编译需要的依赖项(一向都这样),所以我们需要下载OGRE的依赖。

OGRE Dependencies : ogredeps
  ogredeps工程可以在一下的链接地址下载到:
    https://bitbucket.org/cabalistic/ogredeps/downloads
  这些开源项目因为许可等种种原因搞的非常麻烦,在这个下载项中有没有SDL,所以我们还得另外下载SDL。

SDL:
  在上述链接地址的“Source”页面中,列举出了依赖项源代码的目录树,打开“src”文件夹会看到“SDL2”的链接,然后打开这个链接后,我们就会在新的页面找到SDL2的下载地址(其实也很难找),如下图所示。

  将解压后的“./SDL-c3c3cdaf37f9”中的所有文件拷贝到ogredeps解压后的“./src/SDL2”文件夹中。

ogredeps 编译:
  现在可以编译OGRE的依赖了,首先需要使用CMake生成工程项目,在CMake的“Where is the source code:”输入源代码位置,像这样:“...\cabalistic-ogredeps-eb18d4651ec7”,在“Where to build the binaries:”中输入输出位置,像这样:“...\cabalistic-ogredeps-eb18d4651ec7\output”(output文件夹自己新建,可随意指定),然后点击“Configure”,选择编译器版本(如:Visual Studio 11.0),配置成功后CMake输出文本框会显示“Configuring done”,最后点击“Generate”生成vs工程项目,生成成功后会显示“Generating done”。如下图所示。

  上述操作步骤成功后就可以进入“...\output”文件夹,用vs2012打开.sln项目的,然后选择“ALL_BUILD”工程项目,进行“全部重新编译”,编译成功后选择“INSTALL”工程项目进行“重新编译”,编译成功后会在“...\output”文件夹中生成“ogredeps”文件夹,该文件夹中包含了所有OGRE编译所需要的所有依赖项目。

OGRE 编译:
  编译步骤同上面编译ogredeps步骤相似(需要提前安装Direct X),只不过需要将上面“ogredeps”文件夹拷贝到解压后的文件夹“...\sinbad-ogre-51e90cec4c17”中
(这里我在生成工程项目的时候,CMake总是在一个叫“...\Dependencies”的文件中寻找依赖项,而不在ogredeps中寻找,可能是我的CMake配置有关系,最后没有办法我只能将刚才拷贝过来的“ogredeps”文件夹改名为“Dependencies”,如果知道原因的同学,可以在评论中指点),如下图所示。

  当“Configure”和 “Generate”成功后,就可以在“...\output”中着调.sln工程项目,打开工程后还是依次编译“ALL_BUILD”和
“INSTALL”两个工程,编译成功后就将工程“SampleBrowser”设置为“启动项”,运行就可以看到OGRE官方例子。

问题:

  由于我没有安装Direct3D11,所以运行出现如下错误:

  只需要将“...\Output\bin\debug”文件夹中配置文件plugins_d.cfg中的“Plugin=RenderSystem_Direct3D11_d”用“#”注释掉即可。
最终运行结果如下如所示。

OGRE 2.1 Windows 编译的更多相关文章

  1. 【转载】OGRE 2.1 Windows 编译

    OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE: OGRE官方推出了最新 ...

  2. Windows编译ejabberd

    Windows编译ejabberd(金庆的专栏)安装 erlang OTP. 添加路径到 PATH, 使 erl 可以运行.git clone ejabberd安装 rebar:git clone g ...

  3. CEF3.2623使用记录:windows编译

    CEF3.2623使用记录:windows编译 1:cef3.2623下载地址 2623是cef3最后一个支持xp系统的版本,且可以支持html的audio标签,可以用作对html音频的处理下载地址为 ...

  4. Windows 编译安装 nginx 服务器 + rtmp 模块

    有关博客: <Windows 编译安装 nginx 服务器 + rtmp 模块>.<Ubuntu 编译安装 nginx>.<Arm-Linux 移植 Nginx> ...

  5. php beast windows编译教程

    git clone https://github.com/Microsoft/php-sdk-binary-tools.git c:\php-sdk cd c:\php-sdk git checkou ...

  6. Windows编译Nginx源码

    Windows下的Nginx战役,人不作就不会死!就像是拿着麦当劳的优惠券去买肯德基一样,别扭啊 Nginx是一款轻量级的Web 服务器.反向代理服务器.邮件服务器等等集一大串荣誉于一身的大牌人物!他 ...

  7. 在windows编译MariaDB

    OS: Windows XP sp3 IDE: VS2010 MariaDB: V5.5 (到目前为止2016.5,中文域(.cn)只有清华大学 TUNA 镜像源可用) (.tar.gz为源码:.zi ...

  8. Windows编译安装OpenSSL

    windows下使用vs2008中的nmake编译安装openssl的脚本build.bat: echo off & color 0A :: 项目名称 set PROJECT=openssl ...

  9. 专题:Windows编译x264、SDL、faac、ffmpeg过程

    Windows上编译ffmpeg完整过程,包括编译x264.SDL.faac.在Windows上编译ffmpeg需要用MinGW+msys,本专题用于记录编译过程中遇到的各种问题及解决方法,转载请注明 ...

随机推荐

  1. JavaScript 事件委托的技术原理

    如今的 JavaScript 技术界里最火热的一项技术应该是‘事件委托(event delegation)’了.使用事件委托技术能让你避免对特定的每个节点添加事件监听器:相反,事件监听器是被添加到它们 ...

  2. 在Web中如何使用Windows控件(ActiveX)[转]

    最近做的一个Web项目,需要在网页中播放摄像头采集的实时视频,我们已经有了播放视频的使用C#编写的windows控件,如何将其嵌入到网页中去了?这需要使用一种古老的技术,ActiveX. 1.将.Ne ...

  3. mysql 远程连接速度慢的解决方案

    PHP远程连接MYSQL速度慢,有时远程连接到MYSQL用时4-20秒不等,本地连接MYSQL正常,出现这种问题的主要原因是,默认安装的MYSQL开启了DNS的反向解析,在MY.INI(WINDOWS ...

  4. qml json 解析到 ListView

    https://github.com/kromain/qml-utils/tree/master/JSONListModel 非常棒!! 实现的原理如下文: http://goessner.net/a ...

  5. 快速配置 Samba 将 Linux 目录映射为 Windows 驱动器,用于跨平台编程

    一.局域网内的 Linux 服务器上操作步骤: 1.安装samba(CentOS Linux): yum install samba system-config-samba samba-client ...

  6. ASP.net 验证码(C#) MVC

    ASP.net 验证码(C#) MVC http://blog.163.com/xu_shuhao/blog/static/5257748720101022697309/ 网站添加验证码,主要为防止机 ...

  7. [Js]面向对象的拖拽

    <html xmlns="http://www.w3.org/1999/xhtml"><head><style>#div1 {width:100 ...

  8. mouseleave 与 mouseout 的不同

    Q:给某div添加mouseout事件后,在空白区域移动到其子元素(如按钮)上(此时并没有离开此div)时,会触发mouseout事件,而mouseleave则不会 A:与 mouseout 事件不同 ...

  9. js基础之动画(三)

    一.链式运动 首先,要改进运动框架 function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; ...

  10. getSingleResult 和 selectone

    都是返回一个对象,如果找到一个以上的对象会报错,这个在登录验证和添加的时候可能会有点小用,因为登录和添加的时候都要判断是不是数据库有这个username,登录的时候希望有,添加的时候希望没有,但是两者 ...