参考了: http://hi.baidu.com/hy469680890/blog/item/5bf185d8b1d6e22011df9b50.html
http://www.cnblogs.com/oiramario/archive/2010/03/03/1677461.html
1.下载CEGUI源文件
这个不用多说了,百度就知道了,我下载的是最新的版本(0.7.1)
2.下载依赖库
这个东西是必须。要不然会出现一片的错误。至于基本的配置,比如拷贝文件到某某文件夹下,这个网上的教程很多,我就不重复了。
3.编译源文件
这里编译的是Crazy Eddie's GUI System
进入 \CEGUI-0.7.1\CEGUI-0.7.1\projects\premake
运行build_vs2008.bat(或对应的其他版本),将看到CEGUI.sln
继续运行build_samples_vs2008.bat(或对应的其他版本),将看到CEGUISamples.sln
因为以前装过Lua所以运行build_samples_vs2008.bat报错:
premake --file samples.lua --target v
s2008
samples.lua:7: could not load package `helpers' from path `;;C:\Program Files\Lu
a\5.1\lua\?.luac'
到网上查了一下解决方案如下
错误是因为以前装过LUA设置了LUA_PATH环境变量的原因导致的。删除掉变量。
或者在脚本 build_samples_vs2008.bat开头加上 set LUA_PATH= 就可以了。(具体操作的时候不知道变量在那,于是直接set LUA_PATH=)。
4.修改错误
我用的是VS2010来运行的sln,出现一大堆的错误。按网上其他同学的方式一一解决,最后只剩下了一个错误
'initializing' : cannot convert from 'int' to 'CEGUI::ListboxItem *'
貌似这个错只在VS2010出现,经过我一番查找询问,最后在
http://www.cegui.org.uk/phpBB2/viewtopic.php?f=10&t=4868
发现了相似的问题,看到有人这样改了之后可以运行,于是按照他的方法修改了,可是运行还是出错。不过这回好了点,至少知道问题在那,反复尝试,终于搞定了
将CEGUIMultiColumnList.cpp 中
// Insert a blank entry at the appropriate position in each row.
for (uint i = 0; i < getRowCount(); ++i)
{
d_grid[i].d_items.insert(d_grid[i].d_items.begin() + position, 0);
}
修改成
for (uint i = 0; i < getRowCount(); ++i)
{
d_grid[i].d_items.insert(d_grid[i].d_items.begin() + position, nullptr);
}
浙公网安备 33010602011771号