【问题标题】:Linker error: undefined symbols, symbols not found链接器错误:未定义符号,未找到符号
【发布时间】:2012-05-08 14:18:14
【问题描述】:

我收到这些 Apple Mach-O 链接器错误,但我不知道如何阅读这些内容。在我的项目中导入“CLCredentialHeader.h”和“CLCredentialHeader.m”后出现这些错误。

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_SFHFKeychainUtils", referenced from:
      objc-class-ref in CLCredentialHandler.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

  • 您是否尝试使用此链接器错误搜索任何 许多 问题?
  • 我在 Google 中查找,但没有找到相同的。此外,我不知道如何阅读这些类型的错误(尽管我已尽力),因此我无法正确解读其他问题的答案。

标签: ios xcode linker


【解决方案1】:

确保SFHFKeychainUtils.m 出现在您的构建目标的“编译源”构建阶段。有时,将文件添加到 Xcode 中的项目不会将所有实现文件添加到适当的目标。

【讨论】:

  • 正是我需要的!感谢您花时间回答。
【解决方案2】:

当我从另一个项目中拖放一个类并忘记在弹出的窗口中标记“添加到目标”时,我有时会遇到这种情况。我认为这是一个非常合理的问题。错误消息也不是很直观。解决方案很简单,在 XCode 中单击项目,然后单击“Build Phases”并打开“Compile Source”,然后说“+”。这里有一些图片比所有的话都更能说明问题。

所以如果错误看起来像这样,它告诉我 DataAccess 类未定义。

我认为这是我刚刚拖放到项目中的一个类。我将 DataAccess.m 添加到我的项目中

最初我可以通过标记“添加到目标”来避免它

【讨论】:

    【解决方案3】:

    如果上述答案对您不起作用,请检查您是否添加了安全框架。 如果没有,则将其添加到目标的构建阶段部分。 那么应该没问题:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-23
      • 2022-01-15
      • 2012-01-11
      • 2021-03-07
      • 1970-01-01
      相关资源
      最近更新 更多