Я пытаюсь скомпилировать приложение 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-файла.