大家好,又见面了,我是你们的朋友全栈君。
平台:
windows 7 /64bit /VS2005
CEGUI下载
地址: http://www.cegui.org.uk/wiki/index.php/CEGUI_Downloads_0.7.9
源码选择:
CEGUI 0.7.9 Library Source Downloads
This package contains the source code supplied as a compressed zip archive. It is intended for Microsoft Windows users. Download Now!
得到 CEGUI-0.7.9.zip
依赖包选择:
CEGUI 0.7.9 Binary Dependency Downloads for MSVC
MSVC 2005 (SP1 ATL fix) precompiled dependency libraries used by CEGUI supplied as a compressed zip archive. This dependencies package is needed to build CEGUI 0.7.9 from source. Download Now!
得到 CEGUI-DEPS-0.7.x-r2-vc8.zip
编译
参照: http://www.cegui.org.uk/wiki/index.php/Build_from_source_for_Win32
分别解压 CEGUI-0.7.9.ZIP / CEGUI-DEPS-0.7.X-r2-vc8.zip
依赖包解压后放入CEGUI目录中
最后目录结构如:
代码语言:javascript复制E:ceguiCEGUI-0.7.9
bin
//初始空.生产的Sample执行文件将放到这里
cegui
//cegui源码
datafiles
dependencies
//dependencies是拷贝过来的依赖包
bin
include
lib
……各种License
doc
lib
//初始空.CEGUI生成的LIB
project
Xcode
premake
config.lua
//双击下面bat前配置下
build_samples_vs2005.bat
//双击生产CEGUISamples.sln
build_vs2005.bat
//双击生产CEGUI.sln
Samples
//sample源码
acinclude.m4
aclocal.m4
bootstrap
config.guess
config.sub
……其他文件
我的电脑默认找不到DX9相关文件
修改E:ceguiCEGUI-0.7.9projectspremakeconfig.lua
将DIRECT3D9_RENDERER = true 修改为false,如下
代码语言:javascript复制-------------
-- Renderers
-- this controls which renderer modules are built
OPENGL_RENDERER = true
DIRECT3D9_RENDERER = false
DIRECT3D10_RENDERER = false
DIRECT3D11_RENDERER = false
IRRLICHT_RENDERER = false
OGRE_RENDERER = false
NULL_RENDERER = false
重新点击bat生成VS工程文件。
编译CEGUI.sln
编译CEGUISamples.sln
编译CEGUISamples.sln的时候,所有的sample项目会报连接错误,找不到 “freeglut_static.lib”这个文件。
但是项目的配置中设置的是 freeglut_d.lib,依赖包中也只有freeglut_d.lib。
直接在依赖包中 E:ceguiCEGUI-0.7.9dependencieslibstatic 创建freeglut_d.lib的备份,重命名为 freeglut_static.lib。重新编译CEGUISamples.sln即成功。
以上编译都是默认方案 : Debug / static
E:ceguiCEGUI-0.7.9bin 目录下有生产的Samples执行文件
Demo7的半透明和窗口移动效果不错 。
如果用代码跑sample的花,会找不到资源
代码在 e:ceguiCEGUI-0.7.9SamplescommonsrcCEGuiBaseApplication.cpp
代码语言:javascript复制const char* CEGuiBaseApplication::getDataPathPrefix() const
{
static char dataPathPrefix[PATH_MAX];
char* envDataPath = 0;
envDataPath = getenv(DATAPATH_VAR_NAME);
if (envDataPath != 0)
strcpy(dataPathPrefix, envDataPath);
else
strcpy(dataPathPrefix, CEGUI_SAMPLE_DATAPATH);
return dataPathPrefix;
}
代码语言:javascript复制#ifndef CEGUI_SAMPLE_DATAPATH
#define CEGUI_SAMPLE_DATAPATH "../datafiles"
#endif
/***********************************************************************
Static / Const data
*************************************************************************/
const char CEGuiBaseApplication::DATAPATH_VAR_NAME[] = "CEGUI_SAMPLE_DATAPATH";
两种方法:
1.修改 CEGUI_SAMPLE_DATAPATH 的值到具体路径
2.设置名称为 CEGUI_SAMPLE_DATAPATH 的系统环境变量,变量值是资源路径,比如这里的
E:ceguiCEGUI-0.7.9datafiles
转载于:https://www.cnblogs.com/ezhong/archive/2013/03/31/2991668.html
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/163739.html原文链接:https://javaforall.cn