Undefined symbols for architecture i386:问题解决

試著忘記壹切 提交于 2019-12-09 19:24:49

这里优先感谢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了。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!