1. 在http://cegui.org.uk/download 下载CEGUI源码包 cegui-0.8.4 以及CEGUI依赖库(Windows / Apple OS X only) cegui-deps-0.8.x-src 。如果此前没有安装CMake,还需要下载安装CMake。

2. ①将下载的压缩文件进行解压,打开Cmake,将cegui-deps-0.8.x-src文件夹下面的CMakeLists.txt拖到CMake上来,点击Configure,选择当前编译器版本,如下图所示。

②点击Finish , 默认配置下可以满足需要,再次Configure,配置选项如下图所示。


③点击Generate , 在工程建立路径下生成CEGUI-DEPS.sln , 打开后选择生成->批生成->ALL_BUILD Debug|Win32   ALL_BUILD Release|Win32 对依赖库进行编译。

④编译完成之后在cegui-deps-0.8.x-src文件夹下会出现dependencies文件夹,此时需要将该文件夹移动到cegui-0.8.4文件夹中,并且将dependencies文件夹下的bin文件夹路径加到环境变量Path中去。

⑤完成上述操作之后,采用相同步骤对cegui-0.8.4进行操作,此时需要手动设置CEGUI的XML解析器,即将CEGUI_BUILD_XMLPARSER_EXPAT设为checked,其他属性设置默认即可满足要求,属性设置如下。


⑥Congigure完成之后Generate,生成cegui.sln文件,并对cegui.sln进行编译,编译完成会出现如下错误。


解决方式如下:

点击错误,定位到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")
⑦重新进行编译。完成之后在cegui-0.8.4文件夹的bin文件夹下找到CEGUISampleFramework-0.8.exe,双击打开,出现如下界面说明成功配置。

本文参照http://www.58os.com/BBS/TechBSS/Article-14314.html对CEGUI 0.8.4进行完整配置,对于文中提出的默认情况下运行WidgetDemo后程序会崩溃问题没能具体经历,现将解决方法记录以备不时之需,具体解决方式如下图所示。

分

Win7+VS2010环境下CEGUI 0.8.4编译过程详解的更多相关文章

  1. win10环境下安装Ubantu双系统(超详解)

    win10环境下安装Ubantu双系统 1.准备工作: 先去ubantu官网(https://www.ubuntu.com/download)去下载ubantu镜像.根据自己的实际情况选择32位的或者 ...

  2. cegui 编译过程详解(cegui-0.8.2)

    cegui配置整了好长时间了,在一位大牛帮助下终于搞定了,网上的教程大多是老版本的,cegui-0.8.2版的配置寥寥无几,现在总结一下,献给正在纠结的小白们. 准备工作 第一步,先下载cegui-0 ...

  3. VS2010环境下.NET4.0中Tuple<T>的一个小BUG问题

    启动一个桌面程序后,发现一个窗体cfdata=null, 执行时发生错误, 但是在初始化的时候,我明明是cfdata=new Cfdata();为什么会出现这个错误呢. 我开始跟踪,发现当执行cfda ...

  4. centos6.5环境下svn服务器和客户端配置实用详解

    一.服务器端配置 安装 # yum install -y subversion yum安装软件,不清除软件包的方法 # vim /etc/yum.conf keepcache=0 建立svn版本库数据 ...

  5. 同一域环境下SQLServer DB Failover故障转移配置详解

    前 言:    很多情况下,虽然我们的站点.APIService.Redis等已经做成了分布式架构,但是SQLServer依然还是单体结构,当出现网络异常.服务器宕机时便存在极大的风险,这时候我们需要 ...

  6. 随笔编号-10 window环境下,命令行导入sql脚本详解

    目标:使用window命令行(DOS)导入sql脚本(适用于数据量很大的脚本). 执行步骤: 1  找到mysql bin 文件所在之目录: 2  打开dos命令行界面,win+r 组合键打开运行对话 ...

  7. win7 IIS7环境下部署PHP 7.0

    最近在本机电脑win7 II7环境下部署PHP 7.0遇到一些问题,将之记录下来 简要步骤如下: 1.到php官网下载php,由于是IIS环境要下载非线程安全的版本,我下载的是7.0.13 2.解压到 ...

  8. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  9. Boost学习总结(一)VS2010环境下编译STLport和Boost

    Boost学习总结(一)VS2010环境下编译STLport和Boost Boost简介 Boost库是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库.1998年,Beman G.Da ...

随机推荐

  1. iOS: 枚举类型 enum,NS_ENUM,NS_OPTIONS

    一般情况下,我们采用C风格的enum关键字可以定义枚举类型. enum{ UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFro ...

  2. static声明初始化块的一下注意事项

    通过输出结果,我们可以看到,程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法.由于静态初始化块只在类加载时执行一次,所以当再次创建对象 hello2 时并未执行静态初始化块.

  3. 关于WinForm引用WPF窗体---在Winform窗体中使用WPF控件

    项目中有个界面展示用WPF实现起来比较简单,并且能提供更酷炫的效果,但是在WinForm中使用WPF窗体出现了问题,在网上找了一下有些人说Winform不能引用WPF的窗体,我就很纳闷,Win32都能 ...

  4. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  5. (转)浅析Mysql的my.ini文件

    原文:http://blog.csdn.net/heirenheiren/article/details/7895139 转载:http://hunanpengdake.iteye.com/admin ...

  6. Android与服务器http连接模块代码

    package com.example.httpdemo2; import java.io.BufferedReader; import java.io.IOException; import jav ...

  7. Configuring Squid as an accelerator/SSL offload for Outlook Web Access

    reference:http://wiki.squid-cache.org/SquidFaq/ReverseProxy/ Configuring Squid as an accelerator/SSL ...

  8. win7登入使用的是临时档案解决方法

    开始——运行(搜索程序与文件)——regedit——HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileLis ...

  9. PM 时钟机制

    PM 时钟机制 10.1 Minix3 PM 时钟机制概述在 MINIX3 中,除了前面所讲到的 CLOCK 时钟,在 pm 中也是维持了一个时钟, 我们暂且不分析为啥要这么做,我就分析是怎么实现这个 ...

  10. 《more effective c++》条款26 限制类对象的个数

    问题: 如何限制类对象的个数?比如1个,10个等等. 方法(1): 将类的构造函数定义为private,那么就无法实例化这个类了.但是如何创建1个对象出来?方法有2种: 1.声明一个友元函数,那么在友 ...