所以我一直在使用XCode中的c ++项目,并且正在使用外部框架(SFML http://www.sfml-dev.org/)。
我最近决定将我的项目上传到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
我不知道这意味着什么,并且很难在网上找到问题究竟是什么。
答案 0 :(得分:3)
该错误消息表明您正在链接共享库(dylib
),该共享库在运行时在库路径中不可用。
如果您已在原始版本的某个标准位置(例如/Library/Frameworks
)中安装了框架,并且在检查并重建时将其安装在同一位置,那么您应该没问题。但是,框架链接存在一些复杂性,如果您不小心,可能会导致麻烦,特别是如果您使用嵌入式框架。看起来你没有构建一个应用程序,所以我假设你没有嵌入框架。
比较新旧计算机上框架的安装位置,如果它们不相同,则可能是您的问题。
如果事情看起来像是在同一个地方,您可能需要查看DYLD_LIBRARY_PATH
(关于dyld的良好堆栈交换问题)。