这里优先感谢azhou_hui,大部分内容引用自他的博文,增加了一种错误可能,部分有增删,原文传送门http://blog.csdn.net/azhou_hui/article/details/18312047
***************************我是无节操的分割线****************************
多个人共同操作同一个项目或拷贝项目时,经常会出现类似这样的问题:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_xx文件名", referenced from:
大概有下面4种可能,前三种网上好多人都说过了,而其中第四种情况是最近刚刚被困绕过的,如果前三种方法都使用后也不能解决,可以考虑排查一下第四种可能;
1.相关工程文件未导入
你可以直接在这里+进来,也可以在左边工程目录中把文件全部重新导人一遍(多人操作工程时,一般这种解决办法)
2..framework文件未导入
把xx文件库+进来,本问题"_OBJC_CLASS_$_ASIdentifierManager", 就是因为AdSupport.Framework类库未加
3.文件路径缺失
检查是否某些文件路径未加入进来或者写错了
4.所提示的文件内创建了未实现的类的对象
这种情况多是由于编码人员失误造成的,只在.h文件中生命了类,但未在对应的.m文件中实现;
排查的话可以查看一下代码,或者分段注释一下可疑部分,看看是否还会提示,修正一般很容易,但就是这样的编译错误提示很难联想到,当然也可能是自己确实比较菜鸟,这里就权当给自己之后提个醒吧;
工程编译报出:Undefined symbols for architecture i386:和"_OBJC_CLASS_$_xx", referenced from:错误,问题大致是由于上面这几种情况,把各个方面检查下基本就ok了。
来源:oschina
链接:https://my.oschina.net/u/779666/blog/265482