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.