#include <gdiplus.h>导致错误

Ser*_*gey 8 c++ visual-c++

当我gdiplus.h在编译好的程序中包含第一个(有很多)错误时,我会得到:

c:\program files (x86)\microsoft sdks\windows\v7.0a\include\GdiplusImaging.h(77): error C2504: 'IUnknown' : base class undefined
Run Code Online (Sandbox Code Playgroud)

GdiplusImaging.h的一部分:

IImageBytes : public IUnknown  <<< error!
{
public:
     ...
Run Code Online (Sandbox Code Playgroud)

为什么会这样?这个IUnknown课程在哪里?为什么它不在GdiplusImaging.h中?

我的系统是Windows7 x64.VisualStudio 2010.

包括部分:

#include <windows.h>
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment (lib, "gdiplus.lib")
Run Code Online (Sandbox Code Playgroud)

SCh*_*rin 22

这些是使用GDI +的标准包含:

#include <windows.h>
#include <objidl.h>
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment (lib,"Gdiplus.lib")
Run Code Online (Sandbox Code Playgroud)


Ced*_*sme 5

您应该尝试添加windows.hUnknwn.h标题之前gdiplus.h

#include <Unknwn.h>
#include <windows.h>
#include <gdiplus.h>
Run Code Online (Sandbox Code Playgroud)