error C2011: “Picture”:“struct”类型重定义

时间:2023-04-12 12:13:56

今天引用外来库时出现问题,也许是版本问题。

错误如下:

.....\oursun\cincludes\quickdraw.h(309): error C2011: “Picture”:“struct”类型重定义

1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\comdef.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,问题解决。回家吃饭。