• Win7 VS2015环境编译cegui-0.8.5


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

    http://cegui.org.uk/

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

    具体看微软说明

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

    简单的说,就是修改

    DXSDK2010JuneSamplesC++Effects11Incd3dxGlobal.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);

    并在

    DXSDK2010JuneSamplesC++Effects11d3dxGlobal.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根目录内

    并把

    dependenciesin

    添加到系统环境变量中

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

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

    定位到GameMenu.cpp文件694行

    全部替换

    reinterpret_cast<const encoded_char*>("❚")

    reinterpret_cast<const encoded_char*>("d")

    搞定,全剧终,放STAFF列表

  • 相关阅读:
    比特币脚本及交易分析
    分析比特币网络:一种去中心化、点对点的网络架构
    比特币如何挖矿(挖矿原理)-工作量证明
    比特币所有权及隐私问题-非对称加密应用
    区块链记账原理
    用Python从零开始创建区块链
    基础语法-算术运算符
    基础语法-数据类型转换
    基础语法-数据类型介绍及使用
    基础语法-变量介绍
  • 原文地址:https://www.cnblogs.com/kileyi/p/5297677.html
Copyright © 2020-2023  润新知