【问题标题】:dyld: lazy symbol binding failed: can't resolve symboldyld:惰性符号绑定失败:无法解析符号
【发布时间】:2014-01-01 19:22:35
【问题描述】:

所以我一直在 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

我不知道这意味着什么,并且一直很难在网上找出问题的确切原因。

【问题讨论】:

    标签: xcode macos git frameworks linker


    【解决方案1】:

    该错误消息表明您正在链接一个共享库 (dylib),当您执行它时,该库路径在运行时不可用。

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-18
      • 2016-04-19
      相关资源
      最近更新 更多