游戏是一个比较大的系统,包含了图形引擎、网络、AI、声音、UI等模块,模块的开发可能会分别进行或者采用开源项目,Irrlicht引擎基本包含了这些模块,不过在使用中也会陆续加入其它的模块。以前开发的程序中基本是一个sln模块搞定,但是对于游戏可能每次编译的时间比较长,类似于我们的游戏中,顶层逻辑为exe输出,引擎、media,lua、gui等都属于DLL工程,所以每次能够看到所有的源代码,代价是修改完代码之后编译的时间很长。OK,对于只是应用而言,直接拿来DLL,lib,.H基本也够用,但是对于学习而言我可以忍受慢一点的编译,这样可以看到整个源码文件。

1 安装

(1)下载IrrLicht 1.7.3版本,这个版本资料比较多,而且相关的插件很多也支持到这个版本如irrMap,下载地址:http://irrlicht.sourceforge.net/downloads/

(2)采用的是Directx 9.0C版本的图形处理库,安装请自百度

(3) 下载源码为Irrlicht的引擎核心部分,编译后可以得到DLL,LIB文件,编译的时候根据IrrCompileConbfig文件中的宏定义进行编译,如果出现DXD8库函数出现错误,可以在这个文件中屏蔽DXD8的define选项.

(4)打开exmple文件夹中的例子工程,打开后设置DLL,LIB,头文件等,如果VS的版本不对可能会出现MSB8012的错误,那是因为工程设置中输出路径,输出文件名的和链接配置中的设置不符,修改对应的配置就可,这样丑陋的美女就出来了。

2  把工程例子和引擎源码配置在一起

VS可以通过引用的方式将多个工程放在一起,并且每个工程的功能可能不太相似,可能是一个exe输出,剩下全部是DLL输出,这里写一下我自己的一点收获:

(1)相对路径,绝对路径

.\当前路径

..\上一层路径

\xxx\ 下一层路径

(2)添加引用

打开例子中的helloword工程,然后添加“现用项”,将irrlicht引擎的工程添加进来, OK,可以看到irrlicht清楚的结构。

(2)VS中全部路径的设置

即所以的VS工程都缺省采用这个类库,比如做游戏开发的DX函数库,做图像的opencv函数库等等,VS2010中可以通过属性管理器来进行设置,打开工程属性管理器,点开Microsoft.Cpp.Win32.user.prop分页,设置里面的VC目录,设置完之后保存即可,以后建立的工程都会默认采用设置的库。

(3)设置IrrLicht引擎的文件输出目录到helloworl的debug文件下

在存在多个DLL工程的情况下,一种比较好的做法是General的OutputFile就是DLL输出地方:DLL工程的工程配置中输出路径为$(SolutionDir)$(Configuration),这样一个工程都是许多DLL+一个EXE来形成的EXE的SLN把其他DLL的VCPROJ文件引入后,其他工程的OutputFile自动输出到主EXE的DEBUG和Release下面。

(4)理解VS中一些环境变量的意义:参考网页:VS2008 Property Pages设置

(5)工程配置管理器,新建的工程默认可以选择debug或者release进行编译运行,存在多个工程的时候,可能不同编译模式下的选择不同,通过工程配置管理器可以对不同编译模式进行配置。

OK ! 可以看源码了

Irrlicht引擎I 配置的更多相关文章

  1. 在QT中使用Irrlicht引擎的方法与步骤

      Ø 相关库,插件安装部分 本篇文档介绍在Qt5.2.0下面使用lrrlicht引擎在Qt窗口中输出(开发环境:vs2012) 1. 首先安装好Qt5.2.0,下载地址: http://downlo ...

  2. Android 2D游戏引擎AndEngine配置环境

    Android 2D游戏引擎AndEngine配置环境 1.2  配置环境 在任何编程中,都需要一些软件或者硬件的支持.否则,没有硬件软件是不可能存在的,而想要编写对应语言的的程序,这需要对应语言库和 ...

  3. Irrlicht引擎剖析一

    代码风格:  1.接口以I开头,实现以C开头,保存数据的结构体以S开头  2.函数名以小写字母开头,变量以大字母开头  3.接口的公共函数,其参数大部分给了默认值  4.采用名字空间    名字空间i ...

  4. Database基础(二):MySQL索引创建与删除、 MySQL存储引擎的配置

    一.MySQL索引创建与删除 目标: 本案例要求熟悉MySQL索引的类型及操作方法,主要练习以下任务: 普通索引.唯一索引.主键索引的创建/删除 自增主键索引的创建/删除 建立员工表yg.工资表gz, ...

  5. springboot系列四、配置模板引擎、配置热部署

    一.配置模板引擎 在之前所见到的信息显示发现都是以 Rest 风格进行显示,但是很明显在实际的开发之中,所有数据的显示最终都应该交由页面完成,但是这个页面并不是*.jsp 页面,而是普通的*.html ...

  6. python下的Box2d物理引擎的配置

    /******************************* I come back! 由于已经大四了,正在找工作 导致了至今以来第二长的时间内没有更新博客.向大家表示道歉 *********** ...

  7. 2 ~ express ~ 模板引擎的配置与使用

    一,创建应用 (一),创建应用,监听端口 var express = require('express') // 创建app应用 var app = express() app.listen(3000 ...

  8. KBEngine游戏服务器(一)——引擎环境配置

    系统:Win10 版本:Visual Studio 2013(也就是vs120) kbengine:v1.0.0 MySQL:5.7 MySQL Workbench :6.3 一.下载kbengine ...

  9. thinkPhP 引入Smarty模板引擎及配置

    做配置:  TMPL_ENGINE_TYPE = “Smarty” 给smarty做配置: TMPL_ENGINE_CONFIG = array( 左标记, 右标记, )

随机推荐

  1. mybatis 如何查找表里的某一个字段,然后返回它们的结果集list ?

    <select id="findArgByParams" resultType="string" parameterType="map" ...

  2. snmp监控磁盘

    http://www.it165.net/os/html/201209/3438.html https://sourceforge.net/p/net-snmp/mailman/message/168 ...

  3. 计算字符串相似度算法——Levenshtein

    转自:http://wdhdmx.iteye.com/blog/1343856 0.这个算法实现起来很简单 1.百度百科介绍: Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个 ...

  4. APP性能分析1

    我们使用云测试平台对产品进行了性能测试,情况如下:   详见这里.

  5. JVM的生命周期

    package test; public class JVMTestLife { public static void main(String[] args) { new Thread(new Run ...

  6. AngularJS学习笔记二:AngularJS指令

    AngularJS 指令: AngularJS 通过被称为 指令 的新属性来扩展 HTML. AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. 几个常用 指令: ng-app 指令 ...

  7. HDU 1429 (BFS+记忆化状压搜索)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1429 题目大意:最短时间内出迷宫,可以走回头路,迷宫内有不同的门,对应不同的钥匙. 解题思路: 要是 ...

  8. 转:10条建议让你创建更好的jQuery插件

    在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式.这样我就可以 copy & paste 大部分的代码结构,只要专注最主要的逻辑代码就行了.使 ...

  9. Mysql_mysql 性能分析及explain用法

    1 使用explain语句去查看分析结果,如  explain select * from test1 where id=1;会出现:id  selecttype  table  type possi ...

  10. C#引用COM对象,报错:《类型 *** 未定义构造函数, 无法嵌入互操作类型 *** 。请改用适用的接口》的解决办法。

    错误信息: 1.类型“SQLDMO.BackupClass”未定义构造函数 2.无法嵌入互操作类型“SQLDMO.BackupClass”.请改用适用的接口. 代码如下:                ...