zoukankan      html  css  js  c++  java
  • afxcomctl32.h与afxcomctl32.inl报错

    afxcomctl32.h与afxcomctl32.inl报错

    编译公司一个几年前的老项目,是从VC6.0升级到VS2005的。

    1.编译时报缺少头文件,于是附件包含目录,于是出现了以下报错:

    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2059: 语法错误 : “__stdcall”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2091: 函数返回函数
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2146: 语法错误 : 缺少“;”(在标识符“p”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2061: 语法错误 : 标识符“Ptr”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2805: 二进制“operator =”的参数太少
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2333: “CComCtlWrapper::DSA_Create_Type::operator =”: 函数声明中有错误;跳过函数体
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2143: 语法错误 : 缺少“;”(在“->”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2833: “operator Ptr”不是可识别的运算符或类型
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2059: 语法错误 : “newline”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2334: “{”的前面有意外标记;跳过明显的函数体
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2146: 语法错误 : 缺少“;”(在标识符“_DSA_Create”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : warning C4183: “_DSA_Create”: 缺少返回类型;假定为返回“int”的成员函数
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(296) : error C2061: 语法错误 : 标识符“HDSA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(296) : error C2061: 语法错误 : 标识符“HDSA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(297) : error C2061: 语法错误 : 标识符“HDSA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(297) : error C2061: 语法错误 : 标识符“HDSA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(298) : error C2061: 语法错误 : 标识符“HDSA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(298) : error C2061: 语法错误 : 标识符“HDSA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(299) : error C2061: 语法错误 : 标识符“HDSA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(299) : error C2061: 语法错误 : 标识符“HDSA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2059: 语法错误 : “__stdcall”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2091: 函数返回函数
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2146: 语法错误 : 缺少“;”(在标识符“p”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2061: 语法错误 : 标识符“Ptr”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2805: 二进制“operator =”的参数太少
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2333: “CComCtlWrapper::DPA_Create_Type::operator =”: 函数声明中有错误;跳过函数体
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2143: 语法错误 : 缺少“;”(在“->”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2833: “operator Ptr”不是可识别的运算符或类型
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2059: 语法错误 : “newline”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2334: “{”的前面有意外标记;跳过明显的函数体
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2146: 语法错误 : 缺少“;”(在标识符“_DPA_Create”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : warning C4183: “_DPA_Create”: 缺少返回类型;假定为返回“int”的成员函数
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(301) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(301) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(302) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(302) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(303) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(303) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(304) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(304) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(305) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(305) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(306) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(306) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(307) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(307) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(308) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(308) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(309) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(309) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(310) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(310) : error C2061: 语法错误 : 标识符“HDPA”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2614: “CComCtlWrapper::DSA_Create_Type”: 非法的成员初始化:“p”不是基或成员
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2065: “p”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2039: “Ptr”: 不是“CComCtlWrapper::DSA_Create_Type”的成员
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : 参见“CComCtlWrapper::DSA_Create_Type”的声明
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2065: “Ptr”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2143: 语法错误 : 缺少“;”(在“GetProcAddress”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2065: “HDSA”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2146: 语法错误 : 缺少“;”(在标识符“result”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2065: “result”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2678: 二进制“!=”: 没有找到接受“CComCtlWrapper::DSA_Create_Type”类型的左操作数的运算符(或没有可接受的转换)
    1>XXXMicrosoft Visual Studio 8VCPlatformSDKincludeguiddef.h(197): 可能是“int operator !=(const GUID &,const GUID &)”
    1>试图匹配参数列表“(CComCtlWrapper::DSA_Create_Type, int)”时
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(295) : error C2064: 项不会计算为接受 2 个参数的函数
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(296) : error C2065: “hdsa”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(297) : error C2065: “pfnCB”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(297) : error C2065: “pData”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(298) : error C2065: “i”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(299) : error C2065: “pitem”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2614: “CComCtlWrapper::DPA_Create_Type”: 非法的成员初始化:“p”不是基或成员
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2039: “Ptr”: 不是“CComCtlWrapper::DPA_Create_Type”的成员
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : 参见“CComCtlWrapper::DPA_Create_Type”的声明
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2143: 语法错误 : 缺少“;”(在“GetProcAddress”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2065: “HDPA”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2146: 语法错误 : 缺少“;”(在标识符“result”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2678: 二进制“!=”: 没有找到接受“CComCtlWrapper::DPA_Create_Type”类型的左操作数的运算符(或没有可接受的转换)
    1>XXXMicrosoft Visual Studio 8VCPlatformSDKincludeguiddef.h(197): 可能是“int operator !=(const GUID &,const GUID &)”
    1>试图匹配参数列表“(CComCtlWrapper::DPA_Create_Type, int)”时
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(300) : error C2064: 项不会计算为接受 1 个参数的函数
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(301) : error C2065: “hdpa”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(309) : error C2065: “pfnCompare”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(309) : error C2065: “lParam”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(310) : error C2065: “pFind”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(310) : error C2065: “iStart”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.h(310) : error C2065: “options”: 未声明的标识符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxwin.h(3017) : error C2061: 语法错误 : 标识符“PBUTTON_IMAGELIST”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxwin.h(3018) : error C2061: 语法错误 : 标识符“PBUTTON_IMAGELIST”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(94) : error C2143: 语法错误 : 缺少“;”(在“__stdcall”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(94) : error C2433: “HDSA”: 不允许在数据声明中使用“inline”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(94) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(94) : error C2371: “HDSA”: 重定义;不同的基类型
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(94) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(95) : error C2146: 语法错误 : 缺少“)”(在标识符“hdsa”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(95) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(95) : error C2433: “AfxDSA_Destroy”: 不允许在数据声明中使用“inline”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(95) : error C2059: 语法错误 : “)”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(95) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(95) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(96) : error C2146: 语法错误 : 缺少“)”(在标识符“hdsa”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(96) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(96) : error C2182: “AfxDSA_DestroyCallback”: 非法使用“void”类型
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(96) : error C2433: “AfxDSA_DestroyCallback”: 不允许在数据声明中使用“inline”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(96) : error C2059: 语法错误 : “)”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(96) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(96) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(97) : error C2146: 语法错误 : 缺少“)”(在标识符“hdsa”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(97) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(97) : error C2433: “AfxDSA_GetItemPtr”: 不允许在数据声明中使用“inline”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(97) : error C2059: 语法错误 : “)”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(97) : error C2143: 语法错误 : 缺少“;”(在“{”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(97) : error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(98) : error C2146: 语法错误 : 缺少“)”(在标识符“hdsa”的前面)
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(98) : warning C4229: 使用了记时错误 : 忽略数据上的修饰符
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(98) : error C2433: “AfxDSA_InsertItem”: 不允许在数据声明中使用“inline”
    1>XXXMicrosoft Visual Studio 8VCatlmfcincludeafxcomctl32.inl(98) : fatal error C1003: 错误计数超过 100;正在停止编译
    

    2.经过调试分析感觉是#include <afxwin.h>时出错了,但是不知怎么解决,于是到网上找资料

    网上说“此问题已经解决,系统版本问题,需要包含这个文件时,先#define WINVER 0x400 包含后在#define WINVER 0x600”

    换了系统,换了vs2005版本,加了#define WINVER 0x400、#define WINVER 0x600,但是完全不起作用,于是打算重写此程序。

    3.重写程序

    重建一个项目是完全可以的,但是要把原来项目中的全部功能移过来是很麻烦的。于是想到在原项目上改,先去掉多余功能,如果没问题再一点点添加功能。

    发现当去掉附加包含目录中所有项目不需要的头文件,只保留需要的头文件时,奇迹发生了,程序编译通过,不再有那个错误。

    4.总结

    这个问题可能是包含了不该包含的某一个头文件,可以通过把不需要的全都去掉试试。反正我是这么解决了,汗!

  • 相关阅读:
    Aspnet_regsql.exe命令行使用小结
    ListView用法学习
    < %=...%>< %#... %>< % %>< %@ %>
    jQuery入门简介
    oracle基础琐碎总结删除数据
    WindowsPhone基础琐碎总结数据绑定(一)
    ADO.NET基础琐碎总结参数化查询
    oracle基础琐碎总结Where和Having的区别与联系
    第一次使用 Windows Live Writer
    WindowsPhone基础琐碎总结数据绑定(二)
  • 原文地址:https://www.cnblogs.com/yhcao/p/5593260.html
Copyright © 2011-2022 走看看