【Irrlicht鬼火引擎】 安装配置Irrlicht鬼火引擎
一、下载引擎
官方网站:http://irrlicht.sourceforge.net/
官方网站需要翻墙才能进入,如果不想翻墙,可以通过其他下载地址:
CSDN下载:http://download.csdn.net/detail/fxrz12/4932156
下载后解压,学习引擎的第一步就完成了。
二、使用引擎
想要使用Irrlicht引擎,我们需要在程序中引入头文件<irrlicht.h>,该头文件在Irrlicht引擎的\include目录下。为了让编译器能够找到头文件,我们需要在IDE中设置一下路径。
下面介绍一下visual studio 2010的配置方法。
(1)打开visual studio 2010,新建一个工程
(2)在菜单中选择Project->Properties,会弹出属性面板。Configuration Properties->VC++ Directories的目录下,分别有Include Directories和Library Directories,在这两个栏中添加路径信息。
include: 引擎安装目录\include\
library: 引擎安装目录\lib\Win32-visualstudio 注:在lib中选择符合你的系统类型的文件夹
配置完成后,点击确认,IDE的设置就完成了。
(3)一件必须要做的事
在引擎安装目录\bin\VisualStudio中,找到Irrlicht.dll文件,把它复制到你的工程文件目录下,否则运行的时候会报错的。
三、简单尝试
建立一个main.cpp文件,把下边的代码复制进去,尝试是否可以运行,你的第一个使用Irrlicht的程序就完成了!
#include <irrlicht.h> using namespace irr; using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui; #ifdef _IRR_WINDOWS_
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif int main()
{
IrrlichtDevice *device =
createDevice( video::EDT_SOFTWARE, dimension2d<u32>(, ), ,
false, false, false, ); if (!device)
return ; device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo"); IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment(); guienv->addStaticText(L"Hello World! This is the Irrlicht Software renderer!",
rect<s32>(,,,), true); smgr->addCameraSceneNode(, vector3df(,,-), vector3df(,,)); while(device->run())
{ driver->beginScene(true, true, SColor(,,,)); smgr->drawAll();
guienv->drawAll(); driver->endScene();
} device->drop(); return ;
}

当然,如果你有模型的素材,使用如下的代码添加进入程序之中,运行效果会变得更好:
IAnimatedMesh* mesh = smgr->getMesh("./media/sydney.md2");
if (!mesh)
{
device->drop();
return ;
}
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation(scene::EMAT_STAND);
node->setMaterialTexture( , driver->getTexture("./media/sydney.bmp") );
}

四、常见问题
(1)fatal error C1083: Cannot open include file: 'irrlicht.h': No such file or directory
解决:没有设置好include directory, 看看自己的路径是不是设置错啦
(2)LINK : LNK6004: HelloWorld.exe not found or not built by the last incremental link; performing full link
LINK : fatal error LNK1104: cannot open file "Irrlicht.lib"
Error executing link.exe
解决:没有设置好library directory, 看看自己的lib路径是不是设置错了
(3)This application has failed to start because Irrlicht.dll was not found. Re-installing the application may fix this problem
解决:没有复制Irrlicht.dll文件到项目目录下,妥妥的。复制过去就好了。
【Irrlicht鬼火引擎】 安装配置Irrlicht鬼火引擎的更多相关文章
- 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】
Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...
- Android 2D游戏引擎AndEngine配置环境
Android 2D游戏引擎AndEngine配置环境 1.2 配置环境 在任何编程中,都需要一些软件或者硬件的支持.否则,没有硬件软件是不可能存在的,而想要编写对应语言的的程序,这需要对应语言库和 ...
- sphinx中文版Coreseek中文检索引擎安装和使用方法(Linux)
sphinx中文版Coreseek中文检索引擎安装和使用方法(Linux) 众所周知,在MYSQL数据库中,如果你在百万级别数据库中使用 like 的话那你一定在那骂娘,coreseek是一个 ...
- Express安装入门与模版引擎ejs
Express安装入门与模版引擎ejs 目录 前言 Express简介和安装 运行第一个基于express框架的Web 模版引擎 ejs express项目结构 express项目分析 app.set ...
- python---django中models配置修改数据库引擎
Django支持多种数据库,sqlite,mysql,oracle等,其默认数据库是sqlite 在settings文件中可以发现: DATABASES = { 'default': { 'ENGIN ...
- Database基础(二):MySQL索引创建与删除、 MySQL存储引擎的配置
一.MySQL索引创建与删除 目标: 本案例要求熟悉MySQL索引的类型及操作方法,主要练习以下任务: 普通索引.唯一索引.主键索引的创建/删除 自增主键索引的创建/删除 建立员工表yg.工资表gz, ...
- mysql配置与存储引擎与字段类型与约束条件
目录 字符编码与配置文件 存储引擎 创建表的完整语法 字段类型 整型 浮点型 字符类型 数字的含义 枚举与集合 日期类型 约束条件 字符编码与配置文件 在MySQL5.X系列中,显示的字符编码有多种, ...
- Hive on Spark安装配置详解(都是坑啊)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...
- MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决
一.简介 MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发.发布并支持的.有以下特点: MySQL是一种数据库管理系统. MySQL是一种关联数据库管理系统. MySQ ...
随机推荐
- [COCOS2D-X]AssetsManager
转自:http://blog.csdn.net/xpwang168/article/details/8900764 资源更新方式分析 I zip整包更新 优点:省流量,速度快 缺点:有重复资源,需要打 ...
- Hibernate关联关系之——单向n-1
1 .单向 n-1 关联只需从n的一端可以访问1的一端 2.域模型: 从Order到Customer的多对一单向关联需要在Order类中定义一个Customer属性,而在Customer类中无需定义存 ...
- UVaLive 6859 Points (几何,凸包)
题意:给定 n 个点,让你用最长的周长把它们严格包围起来,边长只能用小格子边长或者是小格子对角线. 析:先把每个点的上下左右都放到一个集合中,然后求出一个凸包,然后先边长转成题目的方式,也好转两个点的 ...
- TypeScript学习笔记(四):函数
这篇笔记我们来看看TypeScript中的函数. 函数类型 在JavaScript中存在两种定义函数的方法,如下: //命名函数 function add(x, y) { return x+y; } ...
- ie6的兼容问题及解决方案
1.png24位的图片在ie6浏览器上会出现背景,解决方案是做成png8位: 2.浏览器默认的margin和padding不同,解决方法是用全局重置来统一,即是*{margin:0;padding:0 ...
- Linux下升级python版本
转载自:http://lovebeyond.iteye.com/blog/1770476 CentOS下的Python版本一般都比较低,很多应用都需要升级python来完成.我装的centOS的默认的 ...
- 解决mysql导入导出数据乱码问题
最近在linux上面用mysqldump导出数据,放在windows系统中导入就会出现中文乱码,然后就会导致出现: Unknown MySQL server host和Can't connect to ...
- 禁止Android的StatusBar下拉
Android中有许多隐藏的Service,StatusBarManager就是其中一个,在Context.java中可以看到: /** * Use with {@link #getSystemSer ...
- class、classLoader的getResourceAsStream的区别
1.class.getResourceAsStream() 从源码中可以看出他也是调用ClassLoader的getResourceAsStream() public InputStream getR ...
- 一入python深似海--dict(字典)的一种实现
以下是python中字典的一种实现.用list数据结构实现字典.详细是这种:[[(key1,value1),(key2,value2),...],[],[],...] 内部每个hash地址是一个lis ...