1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusimaging.h(73): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusimaging.h(74): error C2440: “初始化”: 无法从“const char [37]”转换为“int”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusimaging.h(74): note: 没有使该转换得以执行的上下文
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusimaging.h(74): error C2146: 语法错误: 缺少“;”(在标识符“IImageBytes”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusimaging.h(74): error C2059: 语法错误:“public”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusimaging.h(75): error C2143: 语法错误: 缺少“;”(在“{”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusimaging.h(75): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusimaging.h(280): error C3646: “id”: 未知重写说明符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusimaging.h(280): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(384): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(395): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(405): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(443): error C2061: 语法错误: 标识符“PROPID”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(444): error C2061: 语法错误: 标识符“PROPID”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(445): error C2061: 语法错误: 标识符“PROPID”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(453): error C2061: 语法错误: 标识符“PROPID”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(471): error C2535: “Gdiplus::Image::Image(void)”: 已经定义或声明成员函数
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(384): note: 参见“Gdiplus::Image::Image”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(505): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(516): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(758): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(813): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(813): error C2535: “Gdiplus::Metafile::Metafile(void)”: 已经定义或声明成员函数
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(758): note: 参见“Gdiplus::Metafile::Metafile”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(820): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(820): error C2535: “Gdiplus::Metafile::Metafile(void)”: 已经定义或声明成员函数
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(758): note: 参见“Gdiplus::Metafile::Metafile”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(829): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(829): error C2535: “Gdiplus::Metafile::Metafile(void)”: 已经定义或声明成员函数
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(758): note: 参见“Gdiplus::Metafile::Metafile”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(855): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(923): error C2535: “Gdiplus::Metafile::Metafile(void)”: 已经定义或声明成员函数
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusheaders.h(758): note: 参见“Gdiplus::Metafile::Metafile”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1133): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1133): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1133): error C2065: “image”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1133): error C2275: “Gdiplus::GpImage”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusgpstubs.h(61): note: 参见“Gdiplus::GpImage”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1133): warning C4229: 使用了记时错误: 忽略数据上的修饰符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1139): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1139): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1139): error C2065: “image”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1139): error C2275: “Gdiplus::GpImage”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusgpstubs.h(61): note: 参见“Gdiplus::GpImage”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1139): warning C4229: 使用了记时错误: 忽略数据上的修饰符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1156): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1244): error C2061: 语法错误: 标识符“PROPID”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1247): error C2061: 语法错误: 标识符“PROPID”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1250): error C2061: 语法错误: 标识符“PROPID”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1262): error C2061: 语法错误: 标识符“PROPID”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1286): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1286): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1286): error C2065: “bitmap”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1286): error C2275: “Gdiplus::GpBitmap”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusgpstubs.h(62): note: 参见“Gdiplus::GpBitmap”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1286): warning C4229: 使用了记时错误: 忽略数据上的修饰符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1292): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1292): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1292): error C2065: “bitmap”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1292): error C2275: “Gdiplus::GpBitmap”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusgpstubs.h(62): note: 参见“Gdiplus::GpBitmap”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(1292): warning C4229: 使用了记时错误: 忽略数据上的修饰符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2222): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2222): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2223): error C2065: “header”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2224): error C2275: “Gdiplus::MetafileHeader”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetaheader.h(111): note: 参见“Gdiplus::MetafileHeader”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2224): warning C4229: 使用了记时错误: 忽略数据上的修饰符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2242): error C2061: 语法错误: 标识符“IStream”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2262): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2262): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2262): error C2065: “metafile”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2262): error C2275: “Gdiplus::GpMetafile”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusgpstubs.h(63): note: 参见“Gdiplus::GpMetafile”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2262): warning C4229: 使用了记时错误: 忽略数据上的修饰符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2309): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2309): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2310): error C2275: “HDC”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\windef.h(267): note: 参见“HDC”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2310): error C2146: 语法错误: 缺少“)”(在标识符“referenceHdc”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2320): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2320): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2321): error C2275: “HDC”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\windef.h(267): note: 参见“HDC”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusflat.h(2321): error C2146: 语法错误: 缺少“)”(在标识符“referenceHdc”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdipluspath.h(133): error C2061: 语法错误: 标识符“byte”
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(75): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(75): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(75): error C2761: “{ctor}”: 不允许重新声明成员
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(76): error C2448: “Gdiplus::Metafile::{ctor}”: 函数样式初始值设定项类似函数定义
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(194): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(194): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(195): error C2275: “HDC”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\windef.h(267): note: 参见“HDC”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(195): error C2146: 语法错误: 缺少“)”(在标识符“referenceHdc”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(199): error C2143: 语法错误: 缺少“;”(在“{”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(199): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(211): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(211): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(212): error C2275: “HDC”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\windef.h(267): note: 参见“HDC”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(212): error C2146: 语法错误: 缺少“)”(在标识符“referenceHdc”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(218): error C2143: 语法错误: 缺少“;”(在“{”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(218): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(230): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(230): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(231): error C2275: “HDC”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\windef.h(267): note: 参见“HDC”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(231): error C2146: 语法错误: 缺少“)”(在标识符“referenceHdc”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(237): error C2143: 语法错误: 缺少“;”(在“{”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(237): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(279): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(279): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(280): error C2065: “header”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(281): error C2275: “Gdiplus::MetafileHeader”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetaheader.h(111): note: 参见“Gdiplus::MetafileHeader”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(281): error C2761: “GetMetafileHeader”: 不允许重新声明成员
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusmetafile.h(282): error C2448: “Gdiplus::Metafile::GetMetafileHeader”: 函数样式初始值设定项类似函数定义
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusbitmap.h(43): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusbitmap.h(43): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusbitmap.h(45): error C2275: “BOOL”: 将此类型用作表达式非法
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\windef.h(153): note: 参见“BOOL”的声明
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusbitmap.h(45): error C2146: 语法错误: 缺少“)”(在标识符“useEmbeddedColorManagement”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusbitmap.h(46): error C2143: 语法错误: 缺少“;”(在“{”的前面)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusbitmap.h(46): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusbitmap.h(78): error C2065: “IStream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusbitmap.h(78): error C2065: “stream”: 未声明的标识符
1>c:\program files (x86)\microsoft sdks\windows\v7.1a\include\gdiplusbitmap.h(80): error C2275: “BOOL”: 将此类型用作表达式非法
解决方案:
1.上述需要的声明信息,在windows.h和comdef.h两个头文件中,一般使用SDK写程序都要添加windows.h头文件,其实windows.h中是含有comdef.h的声明的。
但是如果你使用的IDE太智能了(比如我用的VC2008),在stdafx.h中会创建WIN32_LEAN_AND_MEAN宏,所以会屏蔽comdef.h,这样就会导致声明缺失问题。
2. 删除WIN32_LEAN_AND_MEAN宏或者手动添加包含comdef.h头文件就可以了。