Здравствуйте!
У меня возникли проблемы при компиляции проэкта с GDI+!
Компилятор Visual C++ 6.0
Microsoft Windows SDK v7.1
при компиляции проекта возникают следующие ошибки:
\gdiplustypes.h(744) : error C2061: syntax error : identifier 'Count'
\gdiplustypes.h(744) : error C2146: syntax error : missing ';' before identifier 'BYTE'
\gdiplusheaders.h(196) : error C2061: syntax error : identifier '__out_ecount'
\gdiplusflat.h(2347) : error C2061: syntax error : identifier '__out_bcount'
\gdiplusflat.h(2355) : error C2061: syntax error : identifier '__out_bcount'
\gdiplusflat.h(2388) : error C2061: syntax error : identifier '__out_ecount'
\gdiplusfontfamily.h(123) : error C2065: '__out_ecount' : undeclared identifier
\gdiplusfontfamily.h(123) : error C2146: syntax error : missing ')' before identifier 'LPWSTR'
\gdiplusfontfamily.h(123) : error C2433: 'GetFamilyName' : 'inline' not permitted on data declarations
\gdiplusfontfamily.h(123) : error C2350: 'FontFamily::GetFamilyName' is not a static member
\gdiplusfontfamily.h(123) : error C2440: 'initializing' : cannot convert from 'int' to 'enum Gdiplus::Status'
Conversion to enumeration type requires an explicit cast (static_cast, C-style cast or function-style cast)
\gdiplusfontfamily.h(125) : error C2059: syntax error : ')'
\gdiplusfontfamily.h(126) : error C2143: syntax error : missing ';' before '{'
\gdiplusfontfamily.h(126) : error C2447: missing function header (old-style formal list?)
\gdiplusimagecodec.h(37) : error C2660: 'GdipGetImageDecoders' : function does not take 3 parameters
\gdiplusimagecodec.h(56) : error C2660: 'GdipGetImageEncoders' : function does not take 3 parameters
вот пример "STDafx.h"
#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#define UNICODE
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif
// Windows Header Files:
#include <windows.h>
// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
#include <gdiplus.h>
using namespace Gdiplus;
// Local Header Files
// TODO: reference additional headers your program requires here
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
Здравствуйте, Centaur, Вы писали:
C>Здравствуйте, black_engel, Вы писали:
_>>У меня возникли проблемы при компиляции проэкта с GDI+!
_>>Компилятор Visual C++ 6.0
C>Причина проблем здесь.
ну а как можно решить эту проблему при компиляторе Компилятор Visual C++ 6.0?
в хеадерах GDI+ (несмотря на то что сдк 7.1) надписи
"* Copyright (c) 1998-2001, Microsoft Corp. All Rights Reserved."
Здравствуйте, black_engel, Вы писали:
_>Здравствуйте!
_>У меня возникли проблемы при компиляции проэкта с GDI+!
_>Компилятор Visual C++ 6.0
_>Microsoft Windows SDK v7.1
_>при компиляции проекта возникают следующие ошибки:
_>
_>\gdiplustypes.h(744) : error C2061: syntax error : identifier 'Count'
Вопрос SDK v7.1 стыкуется с VC6.0?
Попробуй организовать исходники таким образом:
1. У тебя 2 файла — main.h и main.cpp
2. [b]main.h
#include <windows.h>
#include <gdiplus.h>
#pragma comment (lib, "gdiplus.lib")
...
3.
main.cpp
#include <main.h>
...
4. Проект не использует precompilled headers, т.е. исключи из проекта stdafx.h и отключи соотв. опцию в настройках проекта.
З.Ы. GDI+ проста в начале, но потом, окажется что он очень медленный. Лучше сразу начать юзать OGL. Даже рендер в буфер на гэдэай плюс плюс очень медленный.
Оно подходит только для рисования простых статичных картинок.