Символ dyld не найден, но nm сообщает об обратном (проблема обновления OS X)
Я работаю над проектом OpenGL, он прекрасно компилируется, при запуске выдает следующую ошибку:
swr-130-64-133-128:assignment Marcella$ ./run
dyld: lazy symbol binding failed: Symbol not found: _gliCreateContextWithShared
Referenced from: /System/Library/Frameworks/OpenGL.framework/Resources/GLEngine.bundle/GLEngine
Expected in: flat namespace
dyld: Symbol not found: _gliCreateContextWithShared
Referenced from: /System/Library/Frameworks/OpenGL.framework/Resources/GLEngine.bundle/GLEngine
Expected in: flat namespace
Я понял, что это означает, что в платформе OpenGL отсутствует символ. Тем не мение, nm
утверждает, что иначе:
0000000000001239 T _gliCreateContextWithShared
У Ашера была похожая проблема, но я не мог понять, как применить его решение в моей ситуации.
Стоит отметить: я недавно обновился до OS X 10.9.2, и все мои проекты, зависящие от этой библиотеки, теперь терпят неудачу с той же ошибкой.
1 ответ
Исправил, добавив
export DYLD_INSERT_LIBRARIES='/System/Library/Frameworks/OpenGL.framework/Resources/GLEngine.bundle/GLEngine'
на мой.bash_profile. Наверное, не самое элегантное решение, но такова жизнь.