之前用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
时间: 2024-10-17 12:13:24