This is the mail archive of the
cygwin-xfree
mailing list for the Cygwin XFree86 project.
RE: OpenGL-1.1.0 compile problem in cygwin-1.7
- From: "Phan, Linh H" <linh dot h dot phan at jpl dot nasa dot gov>
- To: "cygwin-xfree at cygwin dot com" <cygwin-xfree at cygwin dot com>
- Date: Tue, 9 Dec 2008 12:21:09 -0800
- Subject: RE: OpenGL-1.1.0 compile problem in cygwin-1.7
- References: <COL104-W6597D350C43EB12A1B911F93FA0@phx.gbl>
- Reply-to: cygwin-xfree at cygwin dot com
Hi Andre,
This:
gluTessCallback(tobj, (GLenum)GLU_BEGIN, glBegin);
gluTessCallback(tobj, (GLenum)GLU_END, glEnd);
gluTessCallback(tobj, (GLenum)GLU_VERTEX, glVertex2fv);
Would give me these errors:
x.c++: In function `void test()':
x.c++:7: error: invalid conversion from `void (*)(GLenum)' to `void (*)()'
x.c++:7: error: initializing argument 3 of `void gluTessCallback(GLUtesselator*, GLenum, void (*)())'
x.c++:9: error: invalid conversion from `void (*)(const GLfloat*)' to `void (*)()'
x.c++:9: error: initializing argument 3 of `void gluTessCallback(GLUtesselator*, GLenum, void (*)())'
But the below fixes the problem:
gluTessCallback(tobj, (GLenum)GLU_BEGIN, (_GLUfuncptr)glBegin);
gluTessCallback(tobj, (GLenum)GLU_END, glEnd);
gluTessCallback(tobj, (GLenum)GLU_VERTEX, (_GLUfuncptr)glVertex2fv);
Thanks Andre,
Linh
-----Original Message-----
From: cygwin-xfree-owner@cygwin.com [mailto:cygwin-xfree-owner@cygwin.com] On Behalf Of André Bleau
Sent: Tuesday, December 09, 2008 5:38 AM
To: cygwin-xfree@cygwin.com
Subject: RE: OpenGL-1.1.0 compile problem in cygwin-1.7
"Phan, Linh H" wrote:
>
> Hi Brian,
>
> Can you show me how I can fix the cast? I tried this:
>
> #include
> #include
> void test (void)
> {
> GLUtesselator *tobj = (GLUtesselator *)gluNewTess();
> gluTessCallback(tobj, (GLenum)GLU_BEGIN, (void (*)())glBegin);
> gluTessCallback(tobj, (GLenum)GLU_END, glEnd);
> gluTessCallback(tobj, (GLenum)GLU_VERTEX, (void (*)())glVertex2fv);
> }
>
> And that fixed it for glEnd, but I don't know how to fix the glBegin and glVertex2fv.
> This is not my code; it's part of the SGI OpenInventor library.
>
> Thank you,
>
> Linh
>
Hi Linh,
Did you try:
#include
#include
void test (void)
{
GLUtesselator *tobj = gluNewTess();
gluTessCallback(tobj, (GLenum)GLU_BEGIN, glBegin);
gluTessCallback(tobj, (GLenum)GLU_END, glEnd);
gluTessCallback(tobj, (GLenum)GLU_VERTEX, glVertex2fv);
}
Anyway, glu.h shows that the prototype for gluTessCallback is:
GLAPI void APIENTRY gluTessCallback (GLUtesselator* tess, GLenum which, _GLUfuncptr CallBackFunc);
so (_GLUfuncptr) is the obvious cast, no?
- André Bleau, Cygwin's volunteer OpenGL package maintainer.
Please direct any question or comment about the OpenGL package to cygwin at cygwin dot com
_________________________________________________________________
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ: http://x.cygwin.com/docs/faq/
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ: http://x.cygwin.com/docs/faq/