如何解决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".

解决办法:认真检查项目,找到错误改正即可.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容