最近下了最新版Ogre 1.7.0,从下载到最后编译运行成功Ogre自带的Sample花了将近一下午时间。

网上有很多编译Ogre的教程,这里整理我看过的教程,加上自己的经验再详细总结一遍。

第一步:准备好如下所有东西:

1、VS2005 + SP1补丁包。

我用的是VS2005(VC8).一定要打上SP1补丁包(几百兆的那个补丁包...),否则无法编译Ogre

2、Ogre 1.7.0,官网链接https://sourceforge.net/projects/ogre/files/ogre/1.7/ogre-v1-7-0.zip/download

请注意这是Ogre完整源码(文件名为ogre-v1-7-0.zip,73M),而不是SDK(文件名为OgreSDK_vc8_v1-7-0.exe,52M)

官网上的说法是推荐新手使用SDK,但是安装SDK后自带的Sample跑不出来,不知道什么原因。

3、Ogre依赖库,官网链接http://www.ogre3d.org/forums/viewtopic.php?f=1&t=54533

也就是官网上说的Dependencies for OGRE 1.7,这里面包含OGRE源码用到的所有第三方库,如Zlib,Cg, FreeImage等。

由于我是用VS2005,所以下载的文件是OgreDependencies_MSVC_20100106.zip。

4、CMake 2.8,官网链接http://www.cmake.org/cmake/resources/software.html

OGRE使用CMake实现不同平台上的源码配置管理。

我下载的文件为cmake-2.8.0-win32-x86.zip。

第二步:配置

1、解压ogre-v1-7-0.zip,比如我放在F:/Ogre1.7/

2、解压OgreDependencies_MSVC_20100106.zip,然后把里面的Dependencies文件夹拷贝到F:/Ogre1.7/

3、打开Dependencies/src/OgreDependencies.VS2005.sln,编译整个解决方案,Debug和Release都要编译.

3、解压cmake-2.8.0-win32-x86.zip(解压到哪里无所谓),运行里面的cmake-gui.exe

4、在Source code文本框和Build the Binaries文本框里都填入OGRE源码路径F:/Ogre1.7

5、点击Configure,在弹出的提示中选择VS版本,配置过后中间可能会出现红色的提示,不用理会,继续Configure,这时候Generate按钮可用了,点击。

6、这时候,CMake已经帮你在F:/Ogre1.7 目录下生成了OGRE.sln,打开后编译整个解决方案(我是编了半个小时)

7、这时候启动SampleBrowser工程就可以欣赏Demo了。也可以在F:/Ogre1.7/Bin下面直接运行。

第三步:可能出现的问题

如果编译成功,运行SampleBrowser出现错误OGRE EXCEPTION(0:IOException): Cannot create settings file. in Root::saveConfig at ../../v1-7/OgreMain/src/OgreRoot.cpp

这是因为OGRE在我的文档/Ogre中创建配置文件失败,是权限不足的问题,可以直接修改源码,改变配置文件地址。

源码位置:Ogre1.7/Samples/Browser/src/FileSystemLayerImpl_WIN32.cpp

  1. void FileSystemLayerImpl::prepareUserHome(const Ogre::String& subdir)
  2. {
  3. TCHAR path[MAX_PATH];
  4. if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_PERSONAL|CSIDL_FLAG_CREATE, NULL, 0, path)))
  5. {
  6. mHomePath = path;
  7. // create Ogre subdir
  8. //mHomePath += "//Ogre//";
  9. // Added by DD : 2010-3-17 : 由于某种原因导致Ogre没有权限读写我的文档
  10. // 所以在这里修改Ogre HomePath目录
  11. mHomePath = "F://Install//work//Ogre//OgreHomePath//";

建议:

OGRE 1.7吧所有Demo做成了DLL插件的类型,由SampleBrowser动态加载各个Demo。

我觉得这个除了装高档牛逼之外没有别的好处。就像很多网友说的,“Hello World”的思想在广大程序员心里已经根深蒂固了。

初学者不知道如何从0开始写出自己的第一个OGRE程序是比较郁闷的。

做为初学者,我下了1.7之后,又另外下了个1.65,后者的所有Demo都是独立的,其中的Demo_EnvMapping可以认为是OGRE的“Helllo World”。

希望大家共同进步。

http://blog.csdn.net/lsldd/article/details/5388339

Ogre 1.7.0,VS2005编译全过程傻瓜式教程的更多相关文章

  1. webpack之傻瓜式教程

    接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天在教新人的情况下,遇到了一个问题,那就是:尽管网上的webpack教程满天飞,但是却很难找到一个能让新人快 ...

  2. webpack之傻瓜式教程及前端自动化入门

    原文地址:https://www.cnblogs.com/liqiyuan/p/6246870.html 接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天 ...

  3. 初识springboot(傻瓜式教程)

    初识springboot(傻瓜式教程) 项目所需的版本 IDEA 2018 maven 3.x jdk-1.8 IDEA创建spring-boot项目(maven方法) 1.创建一个maven工程 点 ...

  4. MacOS安装Docker傻瓜式教程

    最近电脑越来越卡了,为了减少系统开销,以及后期维护方便,所以考虑将本地安装一些服务迁移到docker中去管理,这一切的基础是要先有docker服务,所以本文就先记录怎样在mac上安装配置docker, ...

  5. 如何使用win7自带的备份还原以及创建系统镜像------傻瓜式教程

    对于经常鼓捣电脑的童鞋来说,装系统是一件极其平常的事情,不过系统装多了之后,我们会感到比较烦躁,因为每一次装系统意味着驱动的重新安装,程序的重新安装,每次这么鼓捣几次,半天时间就花在这上面了,效率是在 ...

  6. MySQL8.0.x 版本安装步骤傻瓜式教程【官方版】

    MySQL8.0.x 安装 一.下载 MySQL官网下载链接:https://downloads.mysql.com/archives/community/ 选择版本后下载zip文件 博主选择的是8. ...

  7. webpack之傻瓜式教程(转载)

    1.安装好nodejs,安装过程网上找. 2.在D盘.E盘或任意一个磁盘中新建文件夹,命名为webpack_demo: 3.在webpack_demo文件下按住Shift键后点击鼠标右键,再左键点击“ ...

  8. 小白学习Spark系列二:spark应用打包傻瓜式教程(IntelliJ+maven 和 pycharm+jar)

    在做spark项目时,我们常常面临如何在本地将其打包,上传至装有spark服务器上运行的问题.下面是我在项目中尝试的两种方案,也踩了不少坑,两者相比,方案一比较简单,本博客提供的jar包适用于spar ...

  9. CentOS系统 Amoeba+MySql主从读写分离配置 适合新手傻瓜式教程!-----仅供参考!

    废话不说,直接开始: 一.安装mysql的三种方式,这里采用第2种(安装方式不再详解,请参照) http://www.cnblogs.com/babywaa/articles/4837946.html ...

随机推荐

  1. com.octo.captcha.service.CaptchaServiceException: Invalid ID, could not validate unexisting o

    <p style="margin-top: 0px; margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px;"& ...

  2. JasperReport html 导出

    In my last blog post I discussed about Generating jasper reports in different formats using json fil ...

  3. php实现求二进制中1的个数(右移、&、int32位)(n = n & (n - 1);)

    php实现求二进制中1的个数(右移.&.int32位)(n = n & (n - 1);) 一.总结 1.PHP中的位运算符和java和c++一样 2.位移运算符看箭头方向,箭头向左就 ...

  4. Django项目开发实例之我的博客

    1.开发环境 2.创建virtualenv 3.安装相关包 Django Pillow 4.创建项目 添加应用: 5.设置静态文件和模板 6.运行测试 参考(http://www.cnblogs.co ...

  5. [CSS] Re-order the appearance of grid items using the order property

    As with flex items, we can set an order value on grid items. Let’s see how this affects the DOM and ...

  6. Android 判断软键盘弹出并隐藏的简单完美解决方案

    最近项目中有一个编辑框,下面是个ListView.在触发编辑框弹出软键盘后,ListView还能滑动,并且ListView的item还能响应单击.这样的体验效果很不好.于是便想在滑动或单击item时判 ...

  7. $.ajax 请求 拦截器 重定向 无效 解决办法

    在ajax 异步请求下 拦截器过滤器中使用 重定向 页面响应无效 我这里用的是springboot框架,用拦截器实现 对请求的拦截 ,session超时直接跳转到login.html页面. 后台代码: ...

  8. 【codeforces 750C】New Year and Rating(做法2)

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  9. 【codeforces 750B】New Year and North Pole

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  10. 小强的HTML5移动开发之路(24)—— PhoneGap Android开发环境搭建

    有关JDK及Android开发环境的搭建请看我前面的博文:http://blog.csdn.net/dawanganban/article/details/9748497 一.下载PhoneGap 下 ...