对于iOS开发来说,”duplicate symbols for architecture x86_64“是非常常见的一种错误,如下图是我今天遇到的:
错误如图
一般情况下,出现duplicate出这个错误一般有两种情况:
-
第一种:在工程中重复导入了某一个类或文件,这一般出现在你添加第三方库的时候比较多,在不知道的情况下又导入了一次相同的类。
-
第二种:工程中在#import引入头文件的时候,将#import "XXX.h" 写成了#import "XXX.m"。错误的引入.m头文件
这两种情况下其实还是比较好查找的,仔细看一下错误信息一般都可以找到出错的类,然后依次查找就可以了。
图片来源自网络.png
比较蛋疼的就是我这种报错,每个类都出现了错误提示,多达45个错误让你无从下手,而你又想不到具体是改了哪一部分代码导致的。
最后还是用了最笨的方法,把可能的文件从工程中一个个删掉去做排除法,最后找到的原因是我在pch文件加了一段代码
#pragma clang diagnostic push
//"-Wunused-variable"这里就是警告的类型
#pragma clang diagnostic ignored "-Wunused-variable"
int a;
#pragma clang diagnostic pop
注:虽然报错的关键字是duplicate,也就是重复的意思,但是从实际工作中来看报这种错误并不一定是重复,同样的还有 类似的错误
网友评论