delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1997/12/01/01:03:51

From: colin AT bird DOT fu DOT is DOT saga-u DOT ac DOT jp (Colin Peters)
Subject: Re: g++, opengl, and STDCALL, * __attribute__ ((stdcall)) problem.
1 Dec 1997 01:03:51 -0800 :
Message-ID: <01bcfe01$09ed4ba0$fa173185.cygnus.gnu-win32@gbird0.fu.is.saga-u.ac.jp>
Reply-To: "Colin Peters" <colin AT bird DOT fu DOT is DOT saga-u DOT ac DOT jp>
Mime-Version: 1.0
To: "ulisses mello" <mello AT ldgo DOT columbia DOT edu>
Cc: "GNU-Win32" <gnu-win32 AT cygnus DOT com>

From: ulisses mello <mello AT ldgo DOT columbia DOT 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 AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019