Debug 武侠世界

1.error C3163: “_vsnprintf”: 属性与以前的声明不一致

 

在OgrePlatform.h里面用下面相应的覆盖

#if defined( __MINGW32__ )

    #define EXT_HASH

#else

    #if _MSC_VER < 1500

    #define snprintf _snprintf

    #define vsnprintf _vsnprintf

    #endif

#endif

 

 

2.编译 CEGUIOgreRenderer 时的错误

 

 -à

error C2440: “初始化”: 无法从“const CEGUI::OgreCEGUIRenderer::QuadInfo *”转换为“CEGUI::OgreCEGUIRenderer::QuadInfo *” 

 

原因是,方法需要传入的是一般的对象指针,而实际上可能会传入一个产量指针,会导致一个预期错误

 

多方查询后无果,对在这下方的第二天消息做处理

error C2439: “std::_Pair_base<_Ty1,_Ty2>::second”

 

问google后,得知是原因大部分是std库升级后,不能再使用NULL表示空指针,而必须用nullptr 。结合上面的错误,找到和 QuadInfo* 相关的std类型,并在OgreCEGUIRenderer.cpp的172行,把一个插入数据的方法做改造,传入了产量参数:

 

之前的是:

 

 

CEGUISystem 报没有找到 lua 对象的错误

 

error C2065: “LuaStack”: 未声明的标识符

error C2065: “LuaObject”: 未声明的标识符

 

看提示应该是 lua 的头文件 没有包含进去 ,但实际情况是已经包含。多方尝试,最终仅仅是因为 没有 定义命名空间而导致找不到对应类型。为啥之前的vc2008不报这样的错⊙﹏⊙b汗。

 

 

3.error C1012: 不匹配的括号 : 缺少“)”  C:/Program Files/Microsoft SDKs/Windows/v7.0A/include/sdkddkver.h         246

 

错误的地方时一个宏定义:

警告   11  warning C4005: “NTDDI_VERSION”: 宏重定义    c:/program files/microsoft sdks/windows/v6.0a/include/sdkddkver.h 206上面的意思是如果 NTDDI_VERSION 没有定义过,并且定义过_WIN32_WINNT则按照某个宏来定义,否则给了一个产量。但是这个宏定义在定义里有又多层嵌套,从而导致上面的变异错误。在没有搞清楚是否因为操作导致宏失效的情况下,直接用常量替换上面的宏定义

 

 

错误的地方时一个宏定义:

#ifndef NTDDI_VERSION

#ifdef _WIN32_WINNT

// set NTDDI_VERSION based on _WIN32_WINNT

#define NTDDI_VERSION   NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)

#else

#define NTDDI_VERSION   0x06010000

#endif

#endif

 

上面的意思是如果 NTDDI_VERSION 没有定义过,并且定义过_WIN32_WINNT则按照某个宏来定义,否则给了一个产量。但是这个宏定义在定义里有又多层嵌套,从而导致上面的变异错误。在没有搞清楚是否因为操作导致宏失效的情况下,直接用常量替换上面的宏定义

4.  CEGUISystem 报没有找到 lua 对象的错误

 

error C2065: “LuaStack”: 未声明的标识符

error C2065: “LuaObject”: 未声明的标识符

 

看提示应该是 lua 的头文件 ,没有包含进去 ,但实际情况是已经包含。多方尝试,最终仅仅是因为 没有 定义命名空间而导致找不到对应类型。为啥之前的vc2008不报这样的错⊙﹏⊙b汗。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值