【转载】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 编译的更多相关文章
- OGRE 2.1 Windows 编译
版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...
- Windows编译ejabberd
Windows编译ejabberd(金庆的专栏)安装 erlang OTP. 添加路径到 PATH, 使 erl 可以运行.git clone ejabberd安装 rebar:git clone g ...
- CEF3.2623使用记录:windows编译
CEF3.2623使用记录:windows编译 1:cef3.2623下载地址 2623是cef3最后一个支持xp系统的版本,且可以支持html的audio标签,可以用作对html音频的处理下载地址为 ...
- 转载请注明:Windows 系统必备好用软件&工具合集跟推荐 | 老D博客
Windows 系统必备好用软件&工具合集跟推荐 97 63,371 A+ 所属分类:工具软件 一.浏览器 二.下载软件 三.播放软件 五.电子邮件客户端 六.图片/照片 浏览查看工具 七.文 ...
- Windows 编译安装 nginx 服务器 + rtmp 模块
有关博客: <Windows 编译安装 nginx 服务器 + rtmp 模块>.<Ubuntu 编译安装 nginx>.<Arm-Linux 移植 Nginx> ...
- php beast windows编译教程
git clone https://github.com/Microsoft/php-sdk-binary-tools.git c:\php-sdk cd c:\php-sdk git checkou ...
- 专题:Windows编译x264、SDL、faac、ffmpeg过程
Windows上编译ffmpeg完整过程,包括编译x264.SDL.faac.在Windows上编译ffmpeg需要用MinGW+msys,本专题用于记录编译过程中遇到的各种问题及解决方法,转载请注明 ...
- 【转载】LINUX 和 WINDOWS 内核的区别
LINUX 和 WINDOWS 内核的区别 [声明:欢迎转载,转载请注明出自CU ACCESSORY http://linux.chinaunix.net/bbs/thread-1153868-1-1 ...
- Windows编译PHP7.2拓展
转载请注明文章出处:https://tlanyan.me/windows-co... 准备工作 https://github.com/Microsoft/...下载PHP-SDK(在右边的" ...
随机推荐
- JavaScript的DOM_StyleSheet操作内联或链接样式表
使用 style 属性,仅仅只能获取和设置行内的样式,如果是通过内联<style>或链接<link>提供的样式规则就无可奈何了,使用 getComputedStyle 和cur ...
- PHP-----TP框架----命名空间
TP框架----命名空间 命名空间,起什么作用??? [1]命名空间是一个虚拟的目录,这个文件有可能存在这个电脑里的任何一个地方,但是如果要把这个文件它的命名空间全部写成同一个那么这些文件就相当于在同 ...
- 第一篇markdown笔记
博客的样式设置 1 2 3 参考第一篇博客 参考第二篇博客 高效的写博客 博客园虽然支持markdown,但是好多快捷键都不支持,以后可以先在马克飞象上写好markdown笔记,再复制到博客上.
- 随手练——HDU 1284 动态规划入门
#include <iostream> #include <algorithm> #include <string.h> using namespace std; ...
- winrar 弹窗处理
https://www.rarlab.com/ 1.下载英文版 2.把下面这段code文本复制到一个新建的记事本txt文档中,然后另存为rarreg.key文件,注意后缀名.txt改为.key才行. ...
- FCC Truncate a string 解决方法
三行搞定 function truncate(str, num) { ab = str.length >num?num>3?str.slice(0,num-3)+ "...&qu ...
- java 进销存 crm 客户管理 库存管理 商户管理 springmvc SSM 项目
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM ...
- 排列组合:01转换法之lua实现
c++ 版连接 https://blog.csdn.net/canguanxihu/article/details/46363375 因为项目用的是lua脚本,看了C++版后自己写了一个lua版本的, ...
- Oracle 数据库备份和恢复配置
可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻 ...
- RHS 和 LHS
不成功的的RHS 引用会导致抛出 ReferenceError异常 不成的的LHS 引用会导致自动隐式地创建一个全局变量(非严格模式下) function foo(a) { var b = a; ...