游戏是一个比较大的系统,包含了图形引擎、网络、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. adb logcat 命令

    转自:http://blog.csdn.net/tumuzhuanjia/article/details/39555445 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb log ...

  2. .net学习之类与对象、new关键字、构造函数、常量和只读变量、枚举、结构、垃圾回收、静态成员、静态类等

    1.类与对象的关系类是对一类事务的统称,是抽象的,不能拿来直接使用,比如汽车,没有具体指哪一辆汽车对象是一个具体存在的,看的见,摸得着的,可以拿来直接使用,比如我家的那辆刚刚买的新汽车,就是具体的对象 ...

  3. ARP缓存记录种类动态条目和静态条目

    ARP缓存记录种类动态条目和静态条目 为使广播量最小,ARP维护IP地址到MAC地址映射的缓存以便将来使用.根据缓存的有效期时间,ARP缓存中包含动态和静态条目本文选自ARP协议全面实战手册. 这里首 ...

  4. 安装Kali Linux操作系统Kali Linux无线网络渗透

    安装Kali Linux操作系统Kali Linux无线网络渗透 Kali Linux是一个基于Debian的Linux发行版,它的前身是BackTrack Linux发行版.在该操作系统中,自带了大 ...

  5. swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程

    swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 1.2.3  注册非免费苹果账号swift语言注册非免费苹果账号iOS游戏框架Sprite Kit基础教程 免费的苹果账号在 ...

  6. easyui的combobox下拉框初始化默认值以及保持该值一直显示的方法

    easyui的combobox下拉框默认初始值是空,下面是实现从远程加载数据之后初始化默认值,以及让该值一直排在下拉框的最顶部的方式. 目前的需求是需要在初始化的时候添加"全部数据库&quo ...

  7. Python核心模块——urllib模块

    现在Python基本入门了,现在开始要进军如何写爬虫了! 先把最基本的urllib模块弄懂吧. urllib模块中的方法 1.urllib.urlopen(url[,data[,proxies]]) ...

  8. Tri Tiling[HDU1143]

    Tri Tiling Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  9. BZOJ3939 : [Usaco2015 Feb]Cow Hopscotch

    设f[i][j]表示到(i,j)的方案数,则有 $f[i][j]=\sum f[x][y](x<i,y<j,a[x][y]!=a[i][j])=\sum f[x][y](x<i,y& ...

  10. javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...