CEGUI环境配置
由于最近项目需要CEGUI做界面,于是我去下载了CEGUI源码,但是却不知道怎么搭建。网上的教程都不是很详细,不能让我们这种新手理解,经过几天折腾,终于弄好了,特此记录下来。
1.下载官网CEGUI源码以及dependencies库,我下载的是0.8.4版本在此之前确保已经配置好了OPENGL或DX。
2.下载并正确安装cmake工具。
3.下载好后, 解压 cegui0.8.4 和 cegui-deps-0.8.x-src 到安装目录, 我选的是 E 盘.
接下来安装 cmake, 运行 camke, 拖动刚解压的 cegui-deps-0.8.x-src 文件夹下的 CMakeLists.txt 到 cmake 上.

点击 cmake 界面下的 Configure 按钮, 然后选择当前编译器版本 vs2013, 最后点击 Finish 按钮, 此时会开始加载 CMakeLists.txt 文件, 等它加载完毕.


再次点击 cmake 界面下的 Configure 按钮, 等界面变白后, 再点击 Generate 按钮.

此时, 会在工程建立路径下生成 CEGUI-DEPS.sln, 打开后右键解决方案 –> 批生成 –> ALL_BUILD Debug|Win32 + ALL_BUILD Release|Win32 对依赖库进行编译.


在编译过程中,如果是配置的OPENGL环境的话会遇到SAFESEH镜像不安全的问题。
解决方法:
1).打开该项目的“属性页”对话框。
2).单击“链接器”节点。
3).单击“命令行”属性页。
4).将 /SAFESEH:NO 键入“附加选项”框中,然后点击应用
如果遇到此问题需要在debug和release模式下分别设置对应工程。(博主由于这个问题浪费了很多时间)
编译完成之后在 cegui-deps-0.8.x-src 文件夹下会出现 dependencies 文件夹, 将该文件夹移动到之前解压的 cegui-0.8.4 文件夹中, 然后这个 cegui-deps-0.8.x-src 文件夹就可以删掉了, 没啥用的样子.
接下来采用相同步骤对 cegui-0.8.4 进行编译, 此时需要手动设置 CEGUI的XML 解析器,即将 CEGUI_BUILD_XMLPARSER_EXPAT 设为 checked, 其他属性设置默认即可满足要求, 如下图:

Congigure 完成之后 Generate, 生成 cegui.sln 文件, 打开 cegui.sln.
右键 ALL_BUILD, 选择[属性], 选择[VC++目录], 设置[包含目录][库目录]为 dependencies 文件夹下的 include 和 lib 文件夹.
然后右键解决方案 –> 批生成 –> ALL_BUILD Debug|Win32 + ALL_BUILD Release|Win32 进行编译.

初次编译会报错.

点击错误
定位到 Sample_FontDemo.cpp 文件
第133行:
将(encoded_char*)”+ – ? B I W Y f n t ℹ ⇦ ⇧ ⇨ ⇩ ⌘ ☎ ☐ ☑ ⚖ ⚙ ⚠ ⛏ ✎ ✑ ✓ ✔ ✕ ✖ ❝ ❞ ➡ ⬀ ⬁ ⬂ ⬃ ⬅ ⬆ ⬇ ⬈ ⬉ ⬊ ⬋ ”
修改为(encoded_char*)”+111111111111111111111111″
第147行:
将每个 “⬀ ” 修改为”1″
定位到GameMenu.cpp文件
第691行:
将finalText += reinterpret_cast(“❚”)
修改为finalText += reinterpret_cast(“d”)
第717行:
将finalText += reinterpret_cast(“❚”)
修改为finalText += reinterpret_cast(“d”)
第749行:
将finalText += reinterpret_cast(“❚”)
修改为finalText += reinterpret_cast(“d”)
如果是OPENGL会遇到之前的SAFESEH镜像不安全的错误。
重新进行编译, 完成之后在 cegui-0.8.4 文件夹的 bin 文件夹下找到 CEGUISampleFramework-0.8.exe, 双击打开.
这时, 它会报个错:

我们将 dependencies 文件夹的 bin 文件夹里的文件全部复制一份到 cegui-0.8.4 文件夹的 bin 文件夹下, 再重新打开 CEGUISampleFramework-0.8.exe.

这里会遇到问题sample/sample.xml does exit问题,我在这里困惑了好久,最后在官网上找到了解决方法。http://cegui.org.uk/wiki/Building_CEGUI_for_Ogre_/_OgreRenderer

就是把你编译cegui-0.8.4文件目录下的sample文件夹复制到cegui-0.8.4根目录datafiles文件下,我这里是


然后继续运行该exe文件。

编译部分转自 http://www.smallcpp.com/small_508.php。


CEGUI环境配置的更多相关文章
- uboot环境配置
uboot环境配置 通过配置uboot让它在启动过程中从tftp获取内核和设备树,并从在加载内核之后把通过启动参数将"从nfs挂载根文件系统"传入内核.这个配置主要是通过uboot ...
- 史上最全Windows版本搭建安装React Native环境配置
史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...
- Electron的环境配置
原文地址http://huisky.com/blog/161218121551123 本文介绍了Electron的环境配置,包括Electron下载.nodejs下载安装.NPM+Bower安装配置. ...
- Python开发环境配置
好久没有写博客了,自从6月份毕业后,进入一家做书法.字画文化宣传的互联网公司(www.manyiaby.com),这段时间一直在进行前端开发,对于后端的使用很少了,整天都是什么html.css.jav ...
- PHP_环境配置_python脚本_2017
Apache配置 需要安装:VC2015 httpd-2.4.16-win32-VC14.zip VC14就是2015的环境. 又比如:php-5.6.12-Win32-VC11-x86 VC11就是 ...
- PHP环境配置
PHP环境配置 1.Apache的安装 第一步: 1. 双击httpd-2.2.17-win32-x86-no_ssl.msi.出现 Windows 标准的软件安装欢迎界面,直接点“Next”继 ...
- Visual studio 通用开发环境配置:SDL,FFMPEG为例
引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...
- windows 7下React Native环境配置
React Native 是 Facebook 推出的一个用 Java 语言就能同时编写 ios,android,以及后台的一项技术,它可以做到实时热更新 .FaceBook 也号称这们技术是 “Le ...
- seL4环境配置
转载声明:希望大家能够从这里收获知识之外,也能够体会到博主撰写博客的辛苦.个人博客势单力薄,对于强转甚至转载博客访问量高于原文的例子不在少数. 希望能够得到大家关注的同时,也能够稍微体谅一下博主的 ...
随机推荐
- Win 10 文件浏览器无法打开
今天遇到个很奇怪的问题,文件浏览器File Explorer无法正常显示,点击打开后任务栏上已经显示打开了,但是屏幕上却看不到任何窗口,开始以为机子中了恶意的木马,然后就疯狂的查毒,然而并没有解决问题 ...
- Windows自带压缩解压工具
压缩一个文件: 命令行:makecab fileName.txt fileName.zip 鼠标操作:选中文件-->鼠标右键-->Send to-->Compressed (zipp ...
- 《UML大战需求分析》阅读笔记03
活动图是用来表达流程的最常见的一种图.活动图与我们之前熟知的流程图相似.而活动图基础语法包含:初始状态.结束状态.活动.状态和合并一般活动图就有一个开始状态.进行活动图绘制的时候需要从总体上规划好业务 ...
- 使用配置文件来配置JDBC连接数据库
1.管理数据库连接的Class 代码如下: package jdbcTest;import java.sql.Connection;import java.sql.DriverManager;impo ...
- 对Git的理解
GIT属于计算机软件,功能是分布式版本控制系统,字面意思还挺有意思的:愚蠢或不开心的人,首先呢,这款软件是免费的.这款软件是免费的.这款软件是免费的.(重要的地方要说三遍)即使它不是免费的,在我大天朝 ...
- JAVA修饰符
修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class className { // ... } private boolean myFlag; s ...
- 【Html 学习笔记】第二节——文本格式
上一节基本已经了解了一些html的基础,这一节主要学习html处理文本相关内容,直接看内容吧. 字体: 预格式文本:<pre> 地址:<address> 缩写:<abbr ...
- UML序列图总结(Loop、Opt、Par和Alt)
序列图主要用于展示对象之间交互的顺序. 序列图将交互关系表示为一个二维图.纵向是时间轴,时间沿竖线向下延伸.横向轴代表了在协作中各独立对象的类元角色.类元角色用生命线表示.当对象存在时,角色用一条虚线 ...
- php+mysql+Apache环境搭建
最近有一个小程序需要用php来跑,记录一下php的环境配置过程. 1.首先在下载集成工具wamp,WAMP是指在Windows服务器上使用Apache.MySQL和PHP的集成安装环境,可以快速安装配 ...
- CSS定位的三种机制:普通流、绝对定位和浮动
1.普通流: position : static – 元素框正常生成.即上述不对元素进行任何样式设置的默认形态. position : relative (此时设置top, right, bottom ...