I grepped inside GLEW while trying to solve my other question, concerning missing __glewX*
symbols for Mac, and found that they are guarded by GLEW_APPLE_GLX
.
When I attempt to build GLEW from source with that flag defined, I get undefined symbols (stuff like _glXGetClientString
). Linking against X11 (-lX11
) doesn't help.
Question: assuming defining GLEW_APPLE_GLX
does indeed make sense, how can I fix the build?
When building an application that uses the X Server (XQuartz) instead of using CGL, you also need to add
-lGL
.Ordinarily when building GL software on OS X you use OpenGL.framework (
-framework OpenGL
) and that gets you OpenGL and CGL/AGL functions but leaves out GLX.You should also ditch any includes to things like
<OpenGL/gl.h>
and use<GL/gl.h>
instead, as that will point to/usr/X11R6/include/GL/...
instead of the OpenGL framework headers.