最近在学习图形学,想看看OGRE源码,于是就去OGRE官网下载源码,配置环境,这里记录一下。鉴于电脑太破,VS2010比较慢,所以使用VS2008。

准备工作:

CMake2.8       下载地址:http://www.cmake.org/files/v2.8/cmake-2.8.12.1-win32-x86.exe

OGRE             下载地址:http://www.ogre3d.org/download/source,OGRE源码及其依赖库都要下载,如图1:

图1 OGRE源码下载

编译源码:

1、安装CMake。已安装CMake的童鞋可以跳过这一步;

2、编译OGRE依赖库。

1)解压OGRE依赖库(图1最后一个),用CMake生成VS2008的工程;

2)打开CMake生成的工程,如图2所示,右键单击“ALL_BUILD”,选择“生成”;

3)在OGRE依赖库的工程目录下多了个“ogredeps”文件夹,里面的文件是最后需要的OGRE依赖库,如图3所示;

图2 编译OGRE依赖库

图3 生成的OGRE依赖库

3、编译OGRE源码

1)解压OGRE源码,将上一步的“ogredeps”文件夹改名为“Dependencies”拷贝到解压后的目录,如图4所示;

2)用CMake生成其VS2008的工程,如图5所示,源路径选择解压后的OGRE源码路径,目标路径选择编译后工程存放的位置,单击“Configure”,在图6界面选择VS2008,单击“Finish”,稍等片刻;

3)若Configure成功,最后一行如图7所示,单击“Generate”,在目标目录下生成VS2008的OGRE工程;

4)在目标目录打开“OGRE.sln”,生成“BUILD_ALL”,一个多小时以后,工程生成完毕,如图8所示。

图4 解压后的OGRE源码

图5 CMake生成OGRE工程文件

图6 选择VS2008

图7 成功Configure的工程

图8 VS2008下的OGRE工程

4、拷贝第二步生成的依赖库中“\ogredeps\bin\Debug”的“cg.dll”和“OIS_d.dll”到第三步生成的工程的debug目录,我的电脑上路径是“F:\ogre_src_v1-8-1_VS2008\bin\debug”。若没有拷贝这两个动态链接库,运行“SampleBrowser”工程时会提示缺少dll。

效果

到此为止,OGRE的源码环境已成功配置,运行“SampleBrowser”,可以看到OGRE的演示样例,如图9、10所示。

图9 OGRE演示样例

图10 OGRE演示样例

OGRE1.8.1源码编译(VS2008)的更多相关文章

  1. Ogre1.8.1源码编译

    本文的编译环境为Windows7_SP1 + VS2010_SP1 + CMake2.8.11   :) 资源下载 1. 下载Ogre1.8.1的源代码,下载链接地址:http://www.ogre3 ...

  2. Ogre1.9 源码编译

    我们首先需要下载. 1.cmake http://www.cmake.org/download/ (选择window安装包最方便) 2.Ogre1.9源代码 https://bitbucket.org ...

  3. GDAL源码编译

    转自阿Fai, GDAL源码编译 在这里,我使用源码编译出C#可以使用的dll静态文件. 一.简单的编译 1.简单的认识 首先进入GDAL的源代码目录,可以看到有几个sln为后缀的文件名,比如make ...

  4. Android 5.0源码编译问题

    如果是自己通过repo和git直接从google官网上download的源码,请忽略这个问题,但是由于google在国内被限制登录,通过这一种方法不是每个人都能download下来源码,通常的做法就是 ...

  5. Android stdio Apktool源码编译

    Android Apktool源码编译 标签(空格分隔): Android Apktool 源码编译 需求 习惯NetBeans调试smali需要用Apktool反编译apk,需要用-d的参数才能生成 ...

  6. SSH/SSL 源码编译安装简易操作说明

    环境:CentOS 6.7 安全加固需求,由于某盟扫描系统主机有SSL系列漏洞,客户要求必须修复: 解决方案:将SSH/SSL升级到最新版本,删除SSL旧版本(实测不删除旧版本某盟扫描无法通过). 当 ...

  7. Hadoop源码编译过程

    一.           为什么要编译Hadoop源码 Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries)的概念,通 ...

  8. World Wind .NET源码编译问题处理

    World  Wind  .NET源码编译问题处理 下载了World_Wind_1.4.0_Source源码(http://worldwindcentral.com/wiki/NASA_World_W ...

  9. 源码编译安装 MySQL 5.5.x 实践

    1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...

随机推荐

  1. CF 13E. Holes 分块数组

    题目:点这 跟这题BZOJ 2002: [Hnoi2010]Bounce 弹飞绵羊  一模一样 分析: 分块数组入门题. 具体的可以学习这篇博文以及做国家集训队2008 - 苏煜<对块状链表的一 ...

  2. HttpClient(4.3.5) - HTTP Entity

    HTTP entity HTTP messages can carry a content entity associated with the request or response. Entiti ...

  3. Spring(3.2.3) - Beans(4): p-namespace & c-namespace

    p 命名空间 p 命名空间允许你使用 bean 元素的属性而不是 <property/>子元素来描述 Bean 实例的属性值.从 Spring2.0 开始,Spring 支持基于 XML ...

  4. 相对完美的后台Service实现播放音乐功能

    对于用Context.startService()启动的service生命周期为onCreate()-onStartCommand()-onDestroy();如果多次用context.startSe ...

  5. 利用ExpandableListView和gridview 显示可展开折叠菜单导航

    这篇随身笔带来的是结合聚合数据“菜谱大全”做的一个菜谱可折叠一级+二级列表. 先发来一些截图一睹为快吧. ExpandableListView 可用于折叠型菜单列表,其布局主要通过getGroupVi ...

  6. sqlserver 公有表达式

    了解通用表达式: 为了让代码简洁:在一个查询中引用另外的结果集都是通过视图而不是子查询来进行分解,但是视图是系统级对象,如果数据集仅仅需要在存储过程或是自定义函数中使用一次的话,使用view有些奢侈哈 ...

  7. android application类的用法

    android application类的用法 Application是android系统Framework提供的一个组件,它是单例模式(singleton),即每个应用只有一个实例,用来存储系统的一 ...

  8. PHP学习笔记 - 进阶篇(6)

    PHP学习笔记- 进阶篇(6) 会话控制(session与cookie) 当前的Cookie为: cookie简介 Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据. ...

  9. (转)软件版本中的Alpha,Beta,RC,Trial是什么意思?

    版本号:V(Version):即版本,通常用数字表示版本号.(如:EVEREST Ultimate v4.20.1188 Beta )Build:用数字或日期标示版本号的一种方式.(如:VeryCD ...

  10. UVALive 6811 Irrigation Line(二分图最小点覆盖--匈牙利算法)

    题意:求最少的线可以覆盖一个由0.1两种数字组成的图中所有的1. eg: 只需要两条线即可. 分析: 1.先为上述例子的行列标号 2.若图中数字为1,则代表该数字所在的行与列有关联. 例如第r1行第c ...