链接器错误:未定义的符号,找不到符号

我得到这些苹果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) 

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

当我从另一个项目中拖放一个类时,有时会出现这种情况,并忘记在popup的窗口中标记“添加到目标”。 我认为这是一个非常合理的问题。 错误信息也不是很直观。 XCode点击项目后,点击“Build Phases”,打开“Compile Source”,然后说“+”。 这里有一些图片,说更多的话,所有的话。

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

在这里输入图像说明

我认识到这是一个我刚刚拖入课堂的课程。 我将DataAccess.m添加到我的项目中

在这里输入图像说明

本来我可以通过标记“添加到目标”

在这里输入图像说明

如果上面的答案不适合你,那么检查你是否添加了安全框架。 如果没有,则将其添加到“目标”的“构build阶段”部分。 应该没事的话:)