2011-09-05 31 views
7

Khi tôi bao gồm gdiplus.h trong một chương trình biên dịch cũng là người đầu tiên (có rất nhiều) lỗi tôi nhận được là:#include <gdiplus.h> gây lỗi

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

Một phần của GdiplusImaging.h:

IImageBytes : public IUnknown <<< error! 
{ 
public: 
    ... 

Tại sao lại như vậy? Lớp IUnknown này ở đâu? Và tại sao nó không có trong GdiplusImaging.h?

Hệ thống của tôi là Windows7 x64. VisualStudio 2010.

Bao gồm phần:

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

Bạn có 'windows.h' được bao gồm trước' gdiplus.h'? – eran

+0

Không thể tái tạo. Đã xảy ra sự cố với cấu hình của bạn. –

+0

Cài đặt lại sdk ngay bây giờ, đã xảy ra lỗi với nó Tôi nghĩ – Sergey

Trả lời

20

Đây là những tiêu chuẩn bao gồm việc sử dụng GDI +:

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

Tôi đã sử dụng khối chính xác này nhưng vẫn gặp sự cố với macro tối thiểu/tối đa không được xác định trong tệp gdiplustype.h (được bao gồm nội bộ bởi gdiplus.h). Chuỗi sau đã giúp -http: //stackoverflow.com/questions/4913922/possible-problems-with-nominmax-on-visual-c –

3

Bạn nên cố gắng thêm windows.hUnknwn.h tiêu đề trước khi gdiplus.h

#include <Unknwn.h>  
#include <windows.h> 
#include <gdiplus.h> 
+0

thực sự tôi có chính xác mã này – Sergey

+0

Bạn đã cố gắng để thêm vào tiêu đề 'Unknwn.h' trước khi gọi' gdiplus.h'? – Cedekasme

+0

Tôi tự hỏi TẠI SAO không bao gồm nó trong tiêu đề gdi ?? Nó đã giúp đỡ! cảm ơn. Thêm nó vào câu trả lời. – Sergey

Các vấn đề liên quan