This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

w32api-2.5 <GL/glu.h> does not define wchar_t (Was: opengl-1.1.0-7 glut.h does not define wchar_t)

Philip Lamb <phil at rave dot co dot nz> wrote:

The changes to <GL/glu.h> in w32api-2.5 expose a problem with the glut.h in opengl-1.1.0-7 package, file <GL/glut.h>. The problem is that whcar_t is now required to be defined by /usr/include/w32api/GL/glu.h, however glut.h does not do so.

I think you meant glu.h in the above line.

I'm not sure where the _best_ place to put a definition is; for myself I have put it at line 153 of glut.h. Others may wish to do so too, and perhaps a patch to the opengl package is in order if other more knowledgeable folks concur.

No glut function uses wchar_t in any form, so IMO it does _not_ belong there. The only thing GL-related that uses wchar_t is gluErrorUnicodeStringEXT, an M$-specific extension to GLU; from w32api-2.5 usr/include/w32api/GL/glu.h :

GLAPI const wchar_t * APIENTRY gluErrorUnicodeStringEXT (GLenum error);

From w32api-2.5 announcement:

2003-09-24 Dimitri Papadopoulos <>

        * include/GL/glu.h (gluErrorUnicodeStringWIN): Add macro
        function. MSDN suggests using gluErrorUnicodeStringWIN
        instead of gluErrorString, as it allows both ANSI and Unicode
        error strings.

        * include/GL/glu.h (gluErrorUnicodeStringEXT): Make the
        returned pointer const for consistency reasons.

2003-09-24 Dimitri Papadopoulos <>

        * include/GL/glu.h (gluErrorUnicodeStringEXT): Add function.
        Function exists in glu32.def but is undocumented on MSDN.
        A Google search came up with this declaration.

2003-09-24 Dimitri Papadopoulos <>

        * include/GL/glu.h: Rewritten from scratch. Started from GLU 1.3
        headers from OpenGL Sample Implementation. Windows ships with
        GLU 1.2 so some constants and functions were removed. Then some
        typedef's and function declarations were reworked to look like
        the previous GL/glu.h.

So IMO, your patch below should be applied to glu.h by the w32api maintainers.

< # ifndef _WCHAR_T_DEFINED
< typedef unsigned short wchar_t;
< # define _WCHAR_T_DEFINED
< # endif
The only other workaround I can see is adding an #include <windows.h> before every #include <GL/glut.h> which is neither elegant nor in the spirit of GLUT's philosophy of hiding platform dependencies.
Philip Lamb

I modified the above line (was a plain email adresss). Beware that Spam bots search lists like this one for new targets for their junk.

I CC'd the MingW list about this issue.

André Bleau, Cygwin's OpenGL package maintainer.

Please address all questions and problem reports about Cygwin's OpenGL package to cygwin at cygwin dot com .

-- Unsubscribe info: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]