zoukankan      html  css  js  c++  java
  • 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列表

  • 相关阅读:
    Mysql基本操作
    MySql架构
    并发中关键字的语义
    SpringMVC<一> 基本结构与配置
    Tomcat 顶层结构
    Linux 日常常用指令
    JSON 数据格式
    RMAN 增量备份级别说明
    Oracle常用数据库系统表单以及SQL的整理
    使用puTTY或Xshell连接阿里云TimeOut超时
  • 原文地址:https://www.cnblogs.com/kileyi/p/5297677.html
Copyright © 2011-2022 走看看