GLEW_APPLE_GLX 构建 GLEW 时导致链接错误

GLEW_APPLE_GLX Causes Linking Error When Building GLEW

我在 GLEW 内部进行了 grep,同时试图解决我的 other question,关于 Mac 缺少 __glewX* 符号,发现它们由 GLEW_APPLE_GLX.

保护

当我尝试从定义了该标志的源构建 GLEW 时,我得到未定义的符号(诸如 _glXGetClientString 之类的东西)。针对 X11 (-lX11) 的链接没有帮助。

问题:假设定义 GLEW_APPLE_GLX 确实有意义,我该如何修复构建?

构建使用 X Server (XQuartz) 而不是使用 CGL 的应用程序时,您还需要添加 -lGL.

通常在 OS X 上构建 GL 软件时使用 OpenGL.framework (-framework OpenGL ) 这让你得到 OpenGL 和 CGL/AGL 功能,但遗漏了 GLX.

您还应该放弃对 <OpenGL/gl.h> 之类的任何包含,而改用 <GL/gl.h>,因为它将指向 /usr/X11R6/include/GL/... 而不是 OpenGL 框架 headers。