今天引用外来库时出现问题,也许是版本问题。
错误如下:
.....oursuncincludesquickdraw.h(309): error C2011: “Picture”:“struct”类型重定义
1> c:program files (x86)microsoft visual studio 10.0vcincludecomdef.h(326) : 参见“Picture”的声明
其中Picture声明如下:
__if_not_exists(Picture)
{
struct Picture : IPictureDisp {};
}
struct定义如下:
struct Picture { short picSize; Rect picFrame; }; typedef struct Picture Picture; typedef Picture * PicPtr; typedef PicPtr * PicHandle;
应该是程序版本不一致的问题,暂且不深究什么原因。
解决方法如下:
既然说是重定义,那就另改一个别名了。
struct Picture1 { short picSize; Rect picFrame; }; typedef struct Picture1 Picture1; typedef Picture1 * PicPtr; typedef PicPtr * PicHandle;
ok,问题解决。回家吃饭。