游戏是一个比较大的系统,包含了图形引擎、网络、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. .net学习之集合、foreach原理、Hashtable、Path类、File类、Directory类、文件流FileStream类、压缩流GZipStream、拷贝大文件、序列化和反序列化

    1.集合(1)ArrayList内部存储数据的是一个object数组,创建这个类的对象的时候,这个对象里的数组的长度为0(2)调用Add方法加元素的时候,如果第一次增加元神,就会将数组的长度变为4往里 ...

  2. javascript散列表实现

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Java Hour 14 多线程基础

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为13 Hour,请各位不吝赐教. 多线程 这个是基 ...

  4. struts2文件下载,动态设置资源地址

    转自:http://blog.csdn.net/ctrl_shift_del/article/details/6277340 ServletActionContext.getServletContex ...

  5. android 定时器的实现

    在Android上常用的定时器有两种,一种是Java.util.Timer,一种就是系统的AlarmService了. 实验1:使用Java.util.Timer. 在onStart()创创建Time ...

  6. nmon性能监控工具总结

    一.nmon工具介绍 nmon 是一个分析aix和linux性能的免费工具(主要是ibm为自己的aix操作系统开发的,但是也可以用在linux操作系统),而nmon_analyser是nmon的一个工 ...

  7. ThreadLocal使用和原理

    实现机制 1.每个Thread对象内部都维护了一个ThreadLocalMap这样一个ThreadLocal的Map,可以存放若干个ThreadLocal. /* ThreadLocal values ...

  8. [Cocos2d-x For WP8]Hello world

    [Cocos2d-x For WP8]Hello world Cocos2d-x For WP8使用C++开发,使用cocos2d-xv0.13同样的接口,Cocos2d-x For WP8的相关项目 ...

  9. weblogic sockets 和 thread 问题解决

    原创文章,转载须注明出处. 这个问题网上很多答案,可惜没一个能解决.后来发现是weblogic 必须适配JDK 版本. 一般会报这个错误,There are: 5 active sockets, bu ...

  10. Struts2+Spring3+Mybatis3开发环境搭建

    本文主要介绍Struts2+Spring3+Mybatis3开发环境搭建 Struts和Spring不过多介绍. MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBa ...