VC6.0MFC下使用GDI++编译链接通不过的解决方案之一(syntax error : identifier 'Count')

                           在写那个CSDN博文提取的时候因为要显示用户的头像在对话框上面,自然想到的就是使用大名鼎鼎的GDI+了,但是在我准备使用gdi库,加入头文件,引入lib之后,引发的错误吓了我一跳!32个错误。后面根据有人的博文看到要在stdafx里面写成如下,错误减少到16个

#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#include "GdiPlus.h"
using namespace Gdiplus;
#endif
#pragma comment(lib,"gdiplus.lib")

 

16个错误:简直不敢相信,因为我在另外一个vc6.0的工程里面使用的是同样的代码(仅仅是包含头文件和引入库)却没有一点错误,

苦苦的百度+Google关键字“GDI+   error C2061: syntax error : identifier 'Count'  ”还是没有找到答案,在一些技术群里面讨论了很久,有的说vc6.0太老了

我有点不相信,因为我有个从别人那里拷贝来的工程已经通过编译链接了,只好继续尝试各种方法

后来一想,因为要使用gdi+库的话,总是要设置一下IDE路径,我看了一下我的路径设置,如下,

好吧,有人说VC6.0太老了也许对太新的SDK里面GDI+支持不好,所以我就重新下载了一个GDIPlus.zip解压在

D:\Program Files\Microsoft Visual Studio\VC98\GDIPlus

VC6.0MFC下使用GDI++编译链接通不过的解决方案之一(syntax error : identifier 'Count')_第1张图片

 

修改路径设置如下,将我们自己的GDI放在上面,而不是替换SDK的路径

 

后来转念一想,为什么有个工程又可以在不修改路径的情况通过编译链接呢,

我的猜想是,因为开始的时候那个工程已经在别人机子上编译好了,再在我机子上编译的话,gdi+那部分就不会再引入我机子上的gdi+里面的(联系pch的作用,将外部框架的头文件编译好了)

便于他人检索,贴出错误提示,有什么不对的地方,欢迎留言指正

vc6.0支持的gdi+下载地址http://download.csdn.net/detail/lilien1010/4449349

d:\program files\microsoft sdks\windows\v6.0a\include\gdiplustypes.h(744) : error C2061: syntax error : identifier 'Count'
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplustypes.h(744) : error C2146: syntax error : missing ';' before identifier 'BYTE'
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusheaders.h(196) : error C2061: syntax error : identifier '__out_ecount'
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusflat.h(2347) : error C2061: syntax error : identifier '__out_bcount'
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusflat.h(2355) : error C2061: syntax error : identifier '__out_bcount'
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusflat.h(2388) : error C2061: syntax error : identifier '__out_ecount'
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusfontfamily.h(123) : error C2065: '__out_ecount' : undeclared identifier
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusfontfamily.h(123) : error C2146: syntax error : missing ')' before identifier 'LPWSTR'
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusfontfamily.h(123) : error C2433: 'GetFamilyName' : 'inline' not permitted on data declarations
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusfontfamily.h(123) : error C2350: 'FontFamily::GetFamilyName' is not a static member
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusfontfamily.h(123) : error C2440: 'initializing' : cannot convert from 'int' to 'enum Gdiplus::Status'
        Conversion to enumeration type requires an explicit cast (static_cast, C-style cast or function-style cast)
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusfontfamily.h(125) : error C2059: syntax error : ')'
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusfontfamily.h(126) : error C2143: syntax error : missing ';' before '{'
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusfontfamily.h(126) : error C2447: missing function header (old-style formal list?)
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusimagecodec.h(37) : error C2660: 'GdipGetImageDecoders' : function does not take 3 parameters
d:\program files\microsoft sdks\windows\v6.0a\include\gdiplusimagecodec.h(56) : error C2660: 'GdipGetImageEncoders' : function does not take 3 parameters

你可能感兴趣的:(windows,function,Microsoft,mfc,include,GDI+)