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

Undefined symbols for architecture i386:

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

Undefined symbols for architecture i386:问题解决_文件名

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

1.相关工程文件未导入


Undefined symbols for architecture i386:问题解决_工程文件_02

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

2..framework文件未导入


Undefined symbols for architecture i386:问题解决_文件名_03



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



3.文件路径缺失


Undefined symbols for architecture i386:问题解决_文件名_04


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


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

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

排查的话可以查看一下代码,或者分段注释一下可疑部分,看看是否还会提示,修正一般很容易,但就是这样的编译错误提示很难联想到,当然也可能是自己确实比较菜鸟,这里就权当给自己之后提个醒吧;



工程编译报出:Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from:错误,问题大致是由于上面这几种情况,把各个方面检查下基本就ok了。