Xcode编译Undefined symbols for architecture XXX报错

Undefined symbols for architecture armv7
Undefined symbols for architecture armv7s
Undefined symbols for architecture arm64
Undefined symbols for architecture i386
Undefined symbols for architecture x86_64

多个人共同操作同一个项目或拷贝项目时,经常会出现类似这样的问题:

Undefined symbols for architecture XXX:

"_OBJC_CLASS_$_xx文件名", referenced from:

大概有下面4种可能,前三种网上好多人都说过了,而其中第四种情况是最近刚刚被困绕过的,如果前三种方法都使用后也不能解决,可以考虑排查一下第四种可能;

1.相关工程文件未导入

 


你可以直接在这里+进来,也可以在左边工程目录中把文件全部重新导人一遍(多人操作工程时,一般这种解决办法)

2..framework文件未导入

 


把xx文件库+进来,本问题"_OBJC_CLASS_$_ASIdentifierManager", 就是因为AdSupport.Framework类库未加

3.文件路径缺失

 

检查是否某些文件路径未加入进来或者写错了

4.所提示的文件内创建了未实现的类的对象

这种情况多是由于编码人员失误造成的,只在.h文件中声明了函数或类,但未在对应的.m或.cpp文件中实现;

排查的话可以查看一下代码,或者分段注释一下可疑部分,看看是否还会提示,修正一般很容易,但就是这样的编译错误提示很难联想到。

原文地址:https://www.cnblogs.com/guangyun/p/4826300.html