首先是去官网下载源码与依赖库

http://cegui.org.uk/

然后得提一下,编译DX11版本带Effects11框架的话会有问题,也就是默认情况编译有问题,这是因为VS2015升级后编译器对operator new和delete做了更改。

具体看微软说明

https://msdn.microsoft.com/zh-cn/library/mt612856.aspx

简单的说,就是修改

DXSDK2010June\Samples\C++\Effects11\Inc\d3dxGlobal.h

来到667行,把定义换成声明

static void* __cdecl operator new(size_t s, CDataBlockStore &pAllocator)
{
D3DXASSERT( s <= 0xffffffff );
return pAllocator.Allocate( (UINT)s );
}

static void __cdecl operator delete(void* p, CDataBlockStore &pAllocator)
{
}

换成

void* __cdecl operator new(size_t s, CDataBlockStore &pAllocator);
void __cdecl operator delete(void* p, CDataBlockStore &pAllocator);

并在

DXSDK2010June\Samples\C++\Effects11\d3dxGlobal.cpp

文件尾定义

void* __cdecl operator new(size_t s, CDataBlockStore &pAllocator)
{
D3DXASSERT(s <= 0xffffffff);
return pAllocator.Allocate((UINT)s);
}

void __cdecl operator delete(void* p, CDataBlockStore &pAllocator)
{
}

别问我为什么不直接写在头文件里,直接写后面再链接会有问题,我也不知道为什么,这样分开写就正确了。

然后回到正文cegui上,和上一版本差不多,先编译依赖库

cegui-deps-0.8.x-src

CMakeLists.txt拖到cmake上,默认就OK

然后分别编译出debug和release版本

编译完成后会生成dependencies目录,把这个目录移动到cegui-0.8.5根目录内

并把

dependencies\bin

添加到系统环境变量中

然后同理CMakeLists.txt编译cegui库,默认就OK

打开工程编译cegui,最后提示错误,还是老问题

定位到GameMenu.cpp文件694行

全部替换

reinterpret_cast<const encoded_char*>("❚")

reinterpret_cast<const encoded_char*>("d")

搞定,全剧终,放STAFF列表

Win7 64位 VS2015环境编译cegui-0.8.5的更多相关文章

  1. Win7 64位 VS2015环境编译NanoVG

    书接上回,Cairo编译好使用后,发现简单的每帧画100条随机线段就卡得不行,装了个gooreplacer( http://liujiacai.net/gooreplacer/ )上stackover ...

  2. Win7 64位 VS2015环境编译Libpng

    第3次编译Libpng依然想不起任何东西,为了不浪费第4次的时间... http://libmng.com/pub/png/libpng.html http://www.zlib.net/ 解压两个压 ...

  3. Win7 64位 VS2015环境使用SDL2-2.0.4

    之前在VS中使用SDL2,如果只链接SDL2.lib,会提示 error LNK2019: unresolved external symbol _main referenced in functio ...

  4. Win7 64位 VS2013环境编译CGAL-4.7

    看到有人在QQ空间感叹编译CGAL配置折腾了一天时间,自己也想试试,虽然并不打算用,但感觉这库也挺有名的,想必日后用得着,于是着手试着编译. 首先是看一下官网的windows下配置说明 http:// ...

  5. Win7 64位 VS2015环境使用qt-msvc2015-5.6.0

    QT下载 http://www.qt.io/download-open-source/#section-2 我用的是 qt-opensource-windows-x86-msvc2015-5.6.0. ...

  6. Win7 64位 VS2013环境编译Squirrel 3.0.7

    Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...

  7. Win7 64位 MinGW环境测试SDL2.0.3

    下载MinGW版的文件 http://www.libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz 解压放到mysys下面 运行Makefile mysys ...

  8. Win7 64位 VS2013环境编译boost1_58_0

    备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...

  9. Win7 64位 VS2013环境编译Lua5.3.1

    主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...

随机推荐

  1. Spring文件上传配置

    增加依赖jar包 <dependency> <groupId>commons-fileupload</groupId> <artifactId>comm ...

  2. I2C总线和S5PV210的I2C总线控制器

    一.什么是I2C通信协议? 1.物理接口:SCL + SDA (1)SCL(serial clock):时钟线,传输CLK信号,一般是I2C主设备向从设备提供时钟的通道. (2)SDA(serial ...

  3. table 固定表头

    1 .table { border-collapse: collapse; } .table th { display: table-cell; } .fixedThead {//thead disp ...

  4. mosquitto_pub和mosquitto_sub 命令参数说明

    mosquitto_pub 命令参数说明 1. -d  打印debug信息 2. -f  将指定文件的内容作为发送消息的内容 3. -h  指定要连接的域名  默认为localhost 4. -i   ...

  5. Action中获取servletAPI对象的方法

    1.ServletActionContext:可以从中获取当前Action对象需要的一切ServletAPI的相关对象: 常用的方法: 1.获取HttpServletRequest:ServletAc ...

  6. npm 换源

    npm config set registry https://registry.npm.taobao.org

  7. 什么是业务运维,企业如何实现互联网+业务与IT的融合

    业务运维并不是一个新概念,针对传统信息架构提出的业务服务管理就是把以业务为核心的IT系统与IT基础设施性能进行整合运维的解决方案.然而随着互联网+转型的不断推进,基础设施的智能化和广泛云化成为IT发展 ...

  8. 9×9扫雷游戏代码-C写的

    #include <stdio.h> #include <stdlib.h> //画棋盘 a雷表 b周围雷数表 c打开表 ][],][],][]) { ,j=; ;i<; ...

  9. NLua - 基于Lua的C#脚本引擎

    Nlua NLua is the bind between Lua world and the .NET world. NLua is a fork of project LuaInterface ( ...

  10. 使用CSS3动画库animate.css

    IE9及更早版本的IE浏览器都不支持css3动画 谷歌浏览器.火狐浏览器.IE10+浏览器以及移动端浏览器等这些都支持css3动画 animate.css内置了很多典型的css3动画   用法   1 ...