最近下了最新版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. [JS Compose] 6. Semigroup examples

    Let's we want to combine two account accidently have the same name. , friends: ['Franklin'] } , frie ...

  2. ios开发级联菜单(利用父子控制器--两个菜单封装为两个子控制器来实现)

    一:1:级联菜单可以使用两个tableView来实现,也可以利用父子控制器,两个控制器来实现,根视图控制器作为两个控制器的父控制器,来管理两个子控制器.2:将左右菜单分别交给两个控制器去管理,对于一些 ...

  3. 使用Nexus搭建Maven仓库

    1.目的 通过建立自己的私服,能够减少中央仓库负荷.节省外网宽带.加速maven构建.自己部署构件等,从而高效的使用maven,nexus是当前流行的Maven仓库管理软件. 2.下载nexus 2. ...

  4. 【机器学习实战】第9章 树回归(Tree Regression)

    第9章 树回归 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/ ...

  5. 【机器学习实战】第8章 预测数值型数据:回归(Regression)

    第8章 预测数值型数据:回归 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/ ...

  6. 为什么 ["1", "2", "3"].map(parseInt) 返回 [1,NaN,NaN]?

    在 javascript 中 ["1","2","3"].map(parseInt) ,2,3] 却是 [1,NaN,NaN]? 我们首先回 ...

  7. 小强的HTML5移动开发之路(35)——jQuery中的过滤器详解

    1.基本过滤选择器 :first :last :not(selector) :selector匹配的节点之外的节点 :even :偶数 :odd :奇数 :eq(index) :gt(index) : ...

  8. 【codeforces 779D】String Game

    [题目链接]:http://codeforces.com/contest/779/problem/D [题意] 给你一段操作序列; 按顺序依次删掉字符串1中相应位置的字符; 问你最多能按顺序删掉多少个 ...

  9. python 爬取36kr 7x24h快讯

    url为https://36kr.com/newsflashes,抓包后发现第一次的新闻内容就是包含在<script>var props={}></script>标签中, ...

  10. eclipse上springCloud分布式微服务搭建-干货

    一.创建maven父工程(pom) pom.xml如下: eureka: client: registerWithEureka:false fetchRegistry:false serviceUrl ...