码迷,mamicode.com
首页 > Windows程序 > 详细

Win7 64位 VS2015环境编译cegui-0.8.5

时间:2016-03-20 14:32:45      阅读:1453      评论:0      收藏:0      [点我收藏+]

标签:

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

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

标签:

原文地址:http://www.cnblogs.com/kileyi/p/5297677.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!