先貼一段錯誤信息
....../*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".