花了两天时间,总算把Sample下的例子跑成功了,真不容易啊,呵呵,现把遇到的问题解决等做个小小的总结吧,供初学者交流参考,若有说错的地方,欢迎指正。
1、 下载:http://www.cegui.org.uk/wiki/index.php/Downloads
最新版本为0.7.1,点进去后会发现有多个download链接,简单翻译下:
a) CEGUI 0.7.1 Library Source Downloads:CEGUI源码,里面的[projects/premake]目录下有premake工具和bat程序,可以手动生成VS2002、VS2003、VS2005、VS2008下的工程文件。但缺少附加库(即没有dependencies文件夹),需要另外下载。
b) CEGUI 0.7.1 Documentation Downloads:帮助文档。
c) CEGUI 0.7.1 Binary Downloads for Microsoft Visual C++ 2005 (must have SP1):带VS2005工程的源码,VS2005需要安装SP1补丁。
d) CEGUI 0.7.1 Binary Downloads for Microsoft Visual C++ 2008:带VS2008工程的源码,我下的是这个,其下有两个链接,第一个链接包括了源码和dependencies文件夹(我下的是这个),第二个就只是dependencies文件夹,需要与a)中下载的一起用。
e) CEGUI 0.7.1 Binary Downloads for Apple Mac OS X (32 Bit Universal):用于苹果Mac操作系统上开发的源码工程。
我下载后的文件名是CEGUI-SDK-0.7.1-vc9.zip,解压。
在[CEGUI-SDK-0.7.1-vc9/projects/premake]下找到CEGUISamples.sln运行。
2、 编译
首先需要编译CEGUISampleHelper项目,它生成的DLL文件供其它的DEMO程序调用,是一个框架,其实也就是把其下的.h 、.CPP文件打个包。
编译时需要有图像渲染库支持,它支持四个SDK:DirectX、OpenGL、Irrlicht、Ogre ,
如果不想装Irrlicht、Ogre, 可以在项目里把带有irrlicht或ogre字样的h文件和cpp文件移除,
然后再去[CEGUI-SDK-0.7.1-vc9/cegui/include]文件夹下找到config.h文件,打开,把“#define CEGUI_SAMPLES_USE_IRRLICHT”、“#define CEGUI_SAMPLES_USE_OGRE”注释掉。
编译设置默认是在Debug_Static下,
编译成功后会在[CEGUI-SDK-0.7.1-vc9/lib]下得到CEGUISampleHelper_Static_d.lib文件,一般不用这个,
把解决方案配置换成Debug模式,然后得到CEGUISampleHelper_d.lib。
然后编译一下Sample_Demo6项目试试,
如果出现”unresovled symbol”找不到符号之类的错误的话,说明之前的CEGUISampleHelper编译是有问题的,我主要就是Debug_Static模式没切换成Debug模式,还有把原有CPP文件误删了。
3、 运行Sample_Demo6
运行会报错,如下:
解决:把[CEGUI-SDK-0.7.1-vc9/dependencies/bin]下的DL L文件拷到[CEGUI-SDK-0.7.1-vc9/bin]下,因为EXE程序是生成在这个文件夹里;另外一种方法是,自己建个专门的文件夹,把那些库放进去,然后设置项目->属性->调试->工作目录为该文件夹;如果嫌麻烦,那就把那些库统统扔到windows/system32里去吧!
解决:网上找这两个库,然后下载下来放到system32里去,不过我没找到,所以我先去下载了最新版本(August 2009)的SDK ,安装后在system32里找到有d3dx9d_42.dll、d3dx10d_42.dll,复制粘贴下,并重命名成d3dx9d_41.dll、d3dx10d_41.dll,仍放在system32里,嘿嘿,这个比较方便,网友教的。
解决:需要把项目->属性->调试->工作目录设成[安装路径/CEGUI-SDK-0.7.1-vc9/datafiles],datafiles就是资源文件夹。
然后就可以看到漂亮的CEGUI界面了,写下来,发现还蛮容易的,可怜我摸索了两天,太笨了,呵呵。