首页 > 代码库 > 【gdiplus.h问题】

【gdiplus.h问题】

之前用GUI+的时候一直都是用的

#include <gdiplus.h> 
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;

但是偶发现当多个文件包含的时候,会报很多错误~~

1>f:\vs2013\vc\include\gdiplusenums.h(29): error C2146: 语法错误: 缺少“;”(在标识符“GraphicsState”的前面)
...
...
1>f:\vs2013\vc\include\gdiplusenums.h(607): fatal error C1003: 错误计数超过 100;正在停止编译

我的代码大概是这样的

A.h

A.cpp

#include "A.h"
#include "B.h" int main(int argc, char *argv[]) { return 0; }

B.h

B.cpp

#include "B.h"
#include <gdiplus.h> 
#pragma comment(lib, "gdiplus.lib")
using namespace Gdiplus;

//do anything

一开始,我也以为是不是文件的包含重复了(其实不是)

当然经过一番百度(很久很久...)最后终于发现一个能解决的方法.

即在使用gdiplus.h之前添加

#include <comdef.h>

问题解决。。。。

再看看comdef.h的注释

comdef.h - Native C++ compiler COM support - main definitions header

虽然问题解决了,但是不知道为什么??先记录下来,如果有哪位大侠知道,希望能告诉偶!!

转载请注明出处:http://www.cnblogs.com/Susake/p/3721777.html