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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决duplicate symbols for architecture x86_64编译错误相关的知识,希望对你有一定的参考价值。

ld: 5 duplicate symbols (这里出现的属性就是问题出现的关键)_count for architecture x86_64

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

 /Users/zxtw/Library/Developer/Xcode/DerivedData/FightLandlord-gfkaxalabyaagtcimlrskdbtudbx/Build/Intermediates/FightLandlord.build/Debug-iphonesimulator/FightLandlord.build/Objects-normal/i386/viewController.o

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

三.属性在声明的时候出现了问题

举个例子如果是上面这个样子说明问题可能出现在属性count的声明上

至于其他的原因还在默默认知中。。。

以上是关于如何解决duplicate symbols for architecture x86_64编译错误的主要内容,如果未能解决你的问题,请参考以下文章

axc关于duplicate symbols for architecture x86_64错误的第三种可能及其解决办法

iOS开发报duplicate symbols for architecture x86_64错误的问题

ld: 2 duplicate symbols for architecture arm64 问题的可能原因

ios-ld: 1 duplicate symbol for architecture arm64报错处理

iOS开发之duplicate symbols for architecture x86_64错误

iOS之duplicate symbols for architecture x86_64错误