GLEW_APPLE_GLX Causes Linking Error When Building

2020-05-09 22:25发布

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?

1条回答
我命由我不由天
2楼-- · 2020-05-09 22:54

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.

查看更多
登录 后发表回答