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后会是程序崩溃,如下:
向那些无私奉献的大牛小牛们致敬!谢谢你们。
本文来自博客园,作者:struggle_time,转载请注明原文链接:https://www.cnblogs.com/songliquan/p/3336805.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?