如何解决duplicate symbols for architecture x86_64编译错误

先贴一段错误信息

....../Objects-normal/x86_64/XXXX.o(前面太多,就不贴了,看我贴的这些就行)

ld: 5 duplicate symbols for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

一看错误信息可知是链接错误.
翻译一下,首先可以知道错误信息是在链接XXXX .o时出错的,(.o是链接文件).然后底下的 ld: 5 duplicate symbols for architecture x86_64 的意思是在x86-64架构下有5个重复符号(几个我们不用管),重复是个关键字,分析有以下两种情况可能会导致这种错误的发生:
一:项目中重复导入了某些文件.,这个一般在导入三方库时可能会重复导入.
解决办法:只需要在文件目录中查找到重复导入的文件,删掉即可,或者将整个三方库删除掉,重新导入,或者用cocopods导入.
二:在项目的某些地方需要#import"XXXX.h" 而#import"XXXX.m".
   解决办法:认真检查项目,找到错误改正即可.

你可能感兴趣的:(iOS开发)