Символ 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. Наверное, не самое элегантное решение, но такова жизнь.

Другие вопросы по тегам