简体   繁体   中英

visual studio c++ 2010 express gets errors using gdi

ok i just upgrade it to visual studio c++ 2010 express. when i use gdi+ i get errors not in my file but in the gdi+ header file one of the errors is this c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusimaging.h(74): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

here is the gdi code that i used

VOID OnPaint(HWND hWnd)
{
    GRAPHICS draw;
    SolidBrush brush(Color(0, 0, 0, 255));
    draw.FillEclipse(&brush, 0, 0, 25, 25);
}

using vs 2008 it works fine
....................................................................... EDIT

here is the error list

1>  stdafx.cpp
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusimaging.h(74): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusimaging.h(74): error C2440: 'initializing' : cannot convert from 'const char [37]' to 'int'
1>          There is no context in which this conversion is possible
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusimaging.h(74): error C2146: syntax error : missing ';' before identifier 'IImageBytes'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusimaging.h(74): error C2470: 'IImageBytes' : looks like a function definition, but there is no parameter list; skipping apparent body
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusimaging.h(74): error C2059: syntax error : 'public'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusimaging.h(280): error C2146: syntax error : missing ';' before identifier 'id'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusimaging.h(280): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusimaging.h(280): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(384): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(395): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(405): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(443): error C2061: syntax error : identifier 'PROPID'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(444): error C2061: syntax error : identifier 'PROPID'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(445): error C2061: syntax error : identifier 'PROPID'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(453): error C2061: syntax error : identifier 'PROPID'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(471): error C2535: 'Gdiplus::Image::Image(void)' : member function already defined or declared
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(384) : see declaration of 'Gdiplus::Image::Image'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(505): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(516): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(758): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(813): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(813): error C2535: 'Gdiplus::Metafile::Metafile(void)' : member function already defined or declared
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(758) : see declaration of 'Gdiplus::Metafile::Metafile'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(820): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(820): error C2535: 'Gdiplus::Metafile::Metafile(void)' : member function already defined or declared
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(758) : see declaration of 'Gdiplus::Metafile::Metafile'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(829): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(829): error C2535: 'Gdiplus::Metafile::Metafile(void)' : member function already defined or declared
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(758) : see declaration of 'Gdiplus::Metafile::Metafile'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(855): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(923): error C2535: 'Gdiplus::Metafile::Metafile(void)' : member function already defined or declared
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusheaders.h(758) : see declaration of 'Gdiplus::Metafile::Metafile'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1133): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1133): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1133): error C2065: 'image' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1133): error C2275: 'Gdiplus::GpImage' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusgpstubs.h(61) : see declaration of 'Gdiplus::GpImage'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1133): warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1133): error C2078: too many initializers
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1139): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1139): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1139): error C2065: 'image' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1139): error C2275: 'Gdiplus::GpImage' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusgpstubs.h(61) : see declaration of 'Gdiplus::GpImage'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1139): warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1139): error C2078: too many initializers
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1156): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1244): error C2061: syntax error : identifier 'PROPID'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1247): error C2061: syntax error : identifier 'PROPID'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1250): error C2061: syntax error : identifier 'PROPID'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1262): error C2061: syntax error : identifier 'PROPID'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1286): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1286): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1286): error C2065: 'bitmap' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1286): error C2275: 'Gdiplus::GpBitmap' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusgpstubs.h(62) : see declaration of 'Gdiplus::GpBitmap'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1286): warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1286): error C2078: too many initializers
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1292): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1292): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1292): error C2065: 'bitmap' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1292): error C2275: 'Gdiplus::GpBitmap' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusgpstubs.h(62) : see declaration of 'Gdiplus::GpBitmap'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1292): warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(1292): error C2078: too many initializers
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2222): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2222): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2224): error C2065: 'header' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2224): error C2275: 'Gdiplus::MetafileHeader' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetaheader.h(112) : see declaration of 'Gdiplus::MetafileHeader'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2224): warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2224): error C2078: too many initializers
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2242): error C2061: syntax error : identifier 'IStream'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2262): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2262): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2262): error C2065: 'metafile' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2262): error C2275: 'Gdiplus::GpMetafile' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusgpstubs.h(63) : see declaration of 'Gdiplus::GpMetafile'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2262): warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2262): error C2078: too many initializers
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2309): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2309): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2310): error C2275: 'HDC' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\windef.h(267) : see declaration of 'HDC'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2310): error C2146: syntax error : missing ')' before identifier 'referenceHdc'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2310): warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2310): error C2078: too many initializers
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2310): error C2275: 'HDC' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\windef.h(267) : see declaration of 'HDC'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2316): error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2320): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2320): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2321): error C2275: 'HDC' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\windef.h(267) : see declaration of 'HDC'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2321): error C2146: syntax error : missing ')' before identifier 'referenceHdc'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2321): warning C4229: anachronism used : modifiers on data are ignored
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2321): error C2078: too many initializers
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2321): error C2275: 'HDC' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\windef.h(267) : see declaration of 'HDC'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusflat.h(2327): error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdipluspath.h(133): error C2061: syntax error : identifier 'byte'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(75): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(75): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(76): error C2448: 'Gdiplus::Metafile::{ctor}' : function-style initializer appears to be a function definition
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(194): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(194): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(195): error C2275: 'HDC' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\windef.h(267) : see declaration of 'HDC'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(195): error C2146: syntax error : missing ')' before identifier 'referenceHdc'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(195): error C2761: '{ctor}' : member function redeclaration not allowed
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(198): error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(199): error C2143: syntax error : missing ';' before '{'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(199): error C2447: '{' : missing function header (old-style formal list?)
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(211): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(211): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(212): error C2275: 'HDC' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\windef.h(267) : see declaration of 'HDC'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(212): error C2146: syntax error : missing ')' before identifier 'referenceHdc'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(212): error C2761: '{ctor}' : member function redeclaration not allowed
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(217): error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(218): error C2143: syntax error : missing ';' before '{'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(218): error C2447: '{' : missing function header (old-style formal list?)
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(230): error C2065: 'IStream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(230): error C2065: 'stream' : undeclared identifier
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(231): error C2275: 'HDC' : illegal use of this type as an expression
1>          c:\program files (x86)\microsoft sdks\windows\v7.0a\include\windef.h(267) : see declaration of 'HDC'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(231): error C2146: syntax error : missing ')' before identifier 'referenceHdc'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(231): error C2761: '{ctor}' : member function redeclaration not allowed
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(236): error C2059: syntax error : ')'
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\gdiplusmetafile.h(236): fatal error C1003: error count exceeds 100; stopping compilation

If you have this line somewhere before the inclusion of <windows.h>

#define WIN32_LEAN_AND_MEAN 

Then comment it out.

I too was getting error C2061: syntax error: identifier 'Bitmap' .

This error was caused by a header file for this declaration:

bool LoadBitmapFromPNG(UINT, Bitmap**);

I solved this by fully qualifying the Bitmap class like so:

LoadBitmapFromPNG(UINT, Graphics::Bitmap**);

or

using namespace Gdiplus;
bool LoadBitmapFromPNG(UINT, Bitmap**);

Either of the 2 methods work.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM