cegui-0.8.2编译过程详解
cegui 编译过程详解(cegui-0.8.2)
cegui配置整了好长时间了,在一位大牛帮助下终于搞定了,网上的教程大多是老版本的,cegui-0.8.2版的配置寥寥无几,现在总结一下,献给正在纠结的小白们。
准备工作
第一步,先下载cegui-0.8.2和CEGUI 0.8.x Dependency
http://www.cegui.org.uk/wiki/index.php/CEGUI_Downloads_0.8.2

第二,我们下载cmake,用于构建文件,cmake官网不太稳定,经常打不开,去这里下载吧,我们对cmake的使用也很简单,只需学会如何构建文件即可,简单了解一下如何使用即可
http://ishare.iask.sina.com.cn/f/7204325.html ,其他地方也可以.
然后安装到电脑上,运行结果如下:

好了,准备工作做完了,现在我们开始编译。
第一,把下载的文件解压到任意目录,但不要出现中文路径,如图两个文件夹一个不能少

第二,构建cegui-deps-0.8.x-src文件,其目录结构如上图,要使用到的文件就是CMakelists.txt,这里面存放的就是构建的过程
首先,打开cmake,选择目录 ” cegui-deps-0.8.x-src“

然后点击configure,做如下选择,选择自己的编译器,看清楚啊,你可以打开自己的ide看一下版本

接着开始构建,过程显示如下:

The C compiler identification is MSVC 16.0.40219.1
The CXX compiler identification is MSVC 16.0.40219.1
Check for working C compiler using: Visual Studio 10
Check for working C compiler using: Visual Studio 10 -- works
Detecting C compiler ABI info
Detecting C compiler ABI info - done
Check for working CXX compiler using: Visual Studio 10
Check for working CXX compiler using: Visual Studio 10 -- works
Detecting CXX compiler ABI info
Detecting CXX compiler ABI info - done
Configuring done


点击 Generate就可以生成文件CEGUI-DEPS.sln,现在可以打开vs2010进行编译了
先在debug下编译,再在release下编译,在vs中打开后直接F7,不用配置其他东西。完成后将需要将dependercied文件夹拷贝到cegui-0.8.2目录下

第三,使用cmake构建cegui-0.8.2,过程同上,生成cegui.sln
编译之前,先将 D:\cegui-0.8.2\dependencies\bin添加到系统环境变量path里面去
然后后编译会出如下错误
错误1
error C2065: “CEGUI_NEW”: 未声明的标识符
解决方法:将CEGUI_NEW 改为new
错误2,这是一大堆错误,打开源代码看看,你就明白了,不过我不明白怎么会出现这种错误

3>Sample_FontDemo.cpp(134): error C2001: 常量中有换行符
3>Sample_FontDemo.cpp(147): error C2001: 常量中有换行符
2>GameMenu.cpp(692): error C2001: 常量中有换行符
2>GameMenu.cpp(694): error C2146: 语法错误: 缺少“)”(在标识符“d_botBarLabel”的前面)
2>GameMenu.cpp(717): error C2001: 常量中有换行符
2>GameMenu.cpp(719): error C2146: 语法错误: 缺少“)”(在标识符“d_topBarLabel”的前面)
2>GameMenu.cpp(728): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
2>GameMenu.cpp(748): error C2001: 常量中有换行符
2>GameMenu.cpp(750): error C2146: 语法错误: 缺少“)”(在标识符“d_botBarLabel”的前面)


改为:(encoded_char*)"+11111111111111111111"

改为:"1"

改为:finalText += reinterpret_cast<const encoded_char*>("d");

改为:finalText += reinterpret_cast<const encoded_char*>("1");

改为:finalText += reinterpret_cast<const encoded_char*>("1");
现在好了,全部编译成功。终于看到哦哦梦寐以求的结果了

还有一点需要注意,就是默认情况话运行WidgetDemo后会是程序崩溃,如下:

向那些无私奉献的大牛小牛们致敬!谢谢你们。
cegui-0.8.2编译过程详解的更多相关文章
- Win7+VS2010环境下CEGUI 0.8.4编译过程详解
转载▼ 1. 在http://cegui.org.uk/download 下载CEGUI源码包 cegui-0.8.4 以及CEGUI依赖库(Windows / Apple OS X only) ...
- Android编译过程详解(一)
Android编译过程详解(一) 注:本文转载自Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359 ...
- GCC 概述:C 语言编译过程详解
Tags: C Description: 关于 GCC 的个人笔记 GCC 概述 对于 GCC 6.1 以及之后的版本,默认使用的 C++ 标准是 C++ 14:使用 -std=c++11 来指定使用 ...
- uboot主Makefile分析(t配置和编译过程详解)
1.编译uboot前需要三次make make distcleanmake x210_sd_configmake -j4 make distclean为清楚dist文件. make x210_sd_c ...
- uboot配置和编译过程详解【转】
本文转载自:http://blog.csdn.net/czg13548930186/article/details/53434566 uboot主Makefile分析1 1.uboot version ...
- uboot配置和编译过程详解
根据朱有鹏老师讲解整理 一.uboot主Makefile分析 1.uboot version确定(Makefile的24-29行) include/version_autogenerated.h文件是 ...
- cegui 编译过程详解(cegui-0.8.2)
cegui配置整了好长时间了,在一位大牛帮助下终于搞定了,网上的教程大多是老版本的,cegui-0.8.2版的配置寥寥无几,现在总结一下,献给正在纠结的小白们. 准备工作 第一步,先下载cegui-0 ...
- C语言编译过程详解
前言 C语言程序从源代码到二进制行程序都经历了那些过程?本文以Linux下C语言的编译过程为例,讲解C语言程序的编译过程. 编写hello world C程序: // hello.c #include ...
- Android编译过程详解(三)
前面两节讲解了自定义Android编译项和创建Product产品配置文件,除了编译和定义产品相关环境变量外,还需要定义Board相关环境变量. 1. build/core/config.mk 109 ...
随机推荐
- 阅读INI档 - Delphi一片
程序往往需要读一些用户设置值.如何完成这一过程? B/S程序一般使用XML档.和C/S程序使用INI档. 前篇<C#迁移之callXBFLibrary - 2(调用非托管DLL)>是C#读 ...
- crawler_爬虫开发的准备工作【工具】
俗话说工欲善其事必先利其器,做java网络爬虫开发分析网页的分析工具,抓包工具比不可少,一下是个人常用的几个工具. 1.firefox低版本是为了支持httpwather , ie各个版本都支持htt ...
- Android 自己的自动化测试(5)<robotium>
大约Android自己的自动化测试UI测试,前出台Android 自己主动化測试(4)<uiautomator>, 在android原生的单元測试框架上,利用uiautomator.jar ...
- Android "QR二维码扫描"
支持灯 扫描结果 支持 抄.分享.浏览打开(超链接) 自己主动保存扫描记录 划删除 和源代码 git: http://git.oschina.net/892642257/QRCode csdn(0分) ...
- C++ 对象模型具体评论(特别easy理解力)
c++对象模型系列 转 一.指针与引用 一 概括 指针和引用,在C++的软件开发中非经常见,假设能恰当的使用它们可以极大的提 高整个软件的效率,可是非常多的C++学习者对它们的各种使用情况并非都了解, ...
- Linux常用命令3--如何设置IP地址?如何更改系统时间?
Linux常用命令 系统状态监控 [1]ps:用于显示当前系统中运行的进程. 语法:ps [-option]:常用的参数有:-a;-u;-x;-e;-f. -a:显示所有进程: -u:显示所有用户: ...
- 转载JQuery绑定鼠标粘贴事件工具类
// 粘贴事件监控 $.fn.pasteEvents = function( delay ) { if (delay == undefined) delay = 10; return $(this). ...
- oracle获取字符串长度函数length()和hengthb()
原文:oracle获取字符串长度函数length()和hengthb() lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算s ...
- div、ul、li等无法居中问题,text-align无效 margin auto无效
很简单.如果是div,直接把div换成: <table align="center"> <tr> <td> ...
- 关于标准I/O缓冲区和fork函数
标准I/O库提供缓冲的目的是尽可能减少使用read和write调用的次数.标准I/O提供三个类型的缓冲:全缓冲.行缓冲和不带缓冲.标准输入(stdin)和标准输出(stdout)是行缓冲,标准出错(s ...