游戏是一个比较大的系统,包含了图形引擎、网络、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. rsync 不能同不子级目录的问题

    /usr/bin/rsync -vr /alidata/www/pro/mobile/* /alidata/www/crontal/mobile #-r, --recursive 对子目录以递归模式处 ...

  2. typedef用法

    参考文章:http://www.cnblogs.com/shenlian/archive/2011/05/21/2053149.html

  3. CI当开启URL重写的时候,报错500 Internal Server Error

    Internal Server Error The server encountered an internal error or misconfiguration and was unable to ...

  4. Sql server之路 (二)登录本地服务器

    安装环境 Microsoft SQL Server Management Studio Express  http://www.microsoft.com/zh-cn/download/details ...

  5. ER-Studio的五种关系说明

    1. identifying relationship: 1对多. 父实体的主键是子实体的外键(FK1),且FK1是主键. 2. no identifying, mandatory relations ...

  6. HDU 1796 How many integers can you find 容斥入门

    How many integers can you find Problem Description   Now you get a number N, and a M-integers set, y ...

  7. SU Demos-02Filtering-02Subfilt

    巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑.这种滤波器最先由英国工程师斯替芬·巴特沃斯(Stephen Butterworth)在1930年发表在英国<无线电工程>期刊的一篇论文中提 ...

  8. AppleWatch开发教程之调试程序使用帮助文档

    AppleWatch开发教程之调试程序使用帮助文档 AppleWatch开发教程之调试程序 调试又被称为排错,是发现和减少程序错误的一个过程.在Xcode中进行调试的需要实现以下几个步骤: 1.添加断 ...

  9. HashMap两种遍历数据的方式

    HashMap的遍历有两种方式,一种是entrySet的方式,另外一种是keySet的方式. 第一种利用entrySet的方式: Map map = new HashMap(); Iterator i ...

  10. 2015ACM/ICPC亚洲区长春站 L hdu 5538 House Building

    House Building Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) ...