__glewX* Неопределенные символы в сборке XQuartz

Я пытаюсь скомпилировать приложение X11 в Mac OS X с помощью XQuartz (т. е. XQuartz предоставляет реализацию X11, поэтому код должен компилироваться напрямую).

Однако код X11 достаточно сложен, чтобы требовать расширения OpenGL через GLEW. Это почти работает, но некоторые символы остаются неопределенными. Вот соответствующий очищенный вывод подробной ссылки:

"/usr/bin/ld" [flags] -o [out] [lib-dirs] [obj-file] [CustomLib2 CustomLib1] -lX11.6 -lGLEW -lGLEW.1.10 -lc++ -lstdc++ -lSystem /usr/bin/../lib/clang/4.2/lib/darwin/libclang_rt.osx.a
Undefined symbols for architecture x86_64:
  "___glewXChooseFBConfig", referenced from: [place in CustomLib2]
  "___glewXCreateContextAttribsARB", referenced from: [place in CustomLib2]
  "___glewXSwapIntervalEXT", referenced from: [place in CustomLib2]

Проверил библиотеки, в них нет __glewX* символов (хотя __glew* символов много), несмотря на это предполагает, что они должны быть там. То есть обе эти команды появляются пустыми:

nm /usr/lib/libGLEW.a | grep __glewX
nm /usr/lib/libGLEW.1.10.0.dylib | grep __glewX

Мой вопрос: где расположены __glewX* символы?

Н.Б. Я не использую XCode или CMake. Это простая сборка make-файла.


person imallett    schedule 07.01.2015    source источник
comment
Сервер X, который поставляется с OS X, ограничит вас OpenGL 2.1, GLEW не может решить эту конкретную проблему. Но если вас это устраивает, вам нужно будет создать GLEW, ориентированный на GLX, а не на собственный CGL API, который вы обычно используете в OS X.   -  person Andon M. Coleman    schedule 08.01.2015
comment
@AndonM.Coleman см. также мой другой вопрос, размещенный всего за несколько минут до вашего комментария.   -  person imallett    schedule 08.01.2015