2013-12-13 55 views
5

所以我一直在研究XCode中的C++项目,并使用外部框架(SFML http://www.sfml-dev.org/)。dyld:懒惰符号绑定失败:无法解析符号

我最近决定将我的项目上传到github,然后尝试在另一台Mac上检出项目。

然而,当我尝试在新计算机上运行我的程序,我得到这个错误

dyld: lazy symbol binding failed: can't resolve symbol __ZN2sf5ImageC1Ev in 
/Users/myname/Library/Developer/Xcode/DerivedData/projectname- 
fufhzxbkoeekzeayzzlrtvgajvnn/Build/Products/Debug/projectname because dependent 
dylib #3 could not be loaded 

我不知道这意味着什么,并一直有一个很难找出网上究竟是什么问题是。

回答

3

该错误消息表示您正在执行链接时遇到共享库(dylib),该库在运行时不在库路径中可用。

如果您在原始版本中的某个标准位置(例如/Library/Frameworks)上安装了该框架,并且在您检查并重新构建时重新安装该框架,那么您应该没问题。但是,如果您不小心,框架链接可能会造成麻烦,尤其是如果您使用嵌入式框架时,会有一些复杂性。看起来你并没有构建应用程序,所以我假设你没有嵌入框架。

比较你的框架在新旧计算机上的安装位置,如果它们不一样,那很可能是你的问题。

如果事情看起来像是在同一个地方,您可能需要检查DYLD_LIBRARY_PATH(有关dyld的良好堆栈交换问题)。

相关问题