This is the mail archive of the
cygwin@sourceware.cygnus.com
mailing list for the Cygwin project.
Re: g++, opengl, and STDCALL, * __attribute__ ((stdcall)) problem.
- To: "ulisses mello" <mello at ldgo dot columbia dot edu>
- Subject: Re: g++, opengl, and STDCALL, * __attribute__ ((stdcall)) problem.
- From: "Colin Peters" <colin at bird dot fu dot is dot saga-u dot ac dot jp>
- Date: Mon, 1 Dec 1997 11:30:07 +0900
- Cc: "GNU-Win32" <gnu-win32 at cygnus dot com>
- Reply-To: "Colin Peters" <colin at bird dot fu dot is dot saga-u dot ac dot jp>
From: ulisses mello <mello@ldgo.columbia.edu>
Date: Saturday, November 29, 1997 10:55 PM
>I am trying to compile a simple program (cube.c) with g++. I have no
>problem to compile it using gcc. However, GL/gl.h does not compile in
>g++. For example, I get the error:
>
>sintax error before '__attribute__' on the function
>
>WINGDIAP const GLubyte * APIENTRY glGetString( GLenum name);
>
>making the substitutions from windows.h it becomes:
>
>const GLubyte * __attribute ((stdcall)) glGetString( GLenum name);
>
>I am aware the g++ flags an error for things like:
>
>int * __stdcall foo(); // but has no problems with
>int __stdcall * foo();
>
>But changing the order of * in gl.h has not solved the problem.
I think if you move APIENTRY to the *end* of the function prototype then
it will work with g++ (and gcc), but, of course, it will stop working with
other compilers I suspect. If you are just using gcc and g++ then no
problem, otherwise make separate copies of those headers for gcc/g++.
WINGDIAP const GLubyte * glGetString( GLenum name) APIENTRY;
Looks strange, but I think it will work.
This is, I think, a bug in the C++ parser, and I have no idea if/when it
will be fixed.
Good luck,
Colin.
-- Colin Peters -- colin at fu.is.saga-u.ac.jp
-- Saga University Dept. of Information Science
-- http://www.fu.is.saga-u.ac.jp/~colin
-- http://www.geocities.com/Tokyo/Towers/6162
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".