未找到 dyld 符号,但 nm 报告其他情况(OS X 更新问题)

dyld symbol not found, but nm reports otherwise (OS X Update issue)

本文关键字:OS 情况 更新 新问题 其他 报告 dyld 符号 nm      更新时间:2023-10-16

我正在处理一个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,我所有依赖于此库的项目现在都失败并出现相同的错误。

通过添加修复了它

export DYLD_INSERT_LIBRARIES='/System/Library/Frameworks/OpenGL.framework/Resources/GLEngine.bundle/GLEngine' 

到我.bash_profile。可能不是最优雅的解决方案,但这就是生活。