先貼一段錯(cuò)誤信息
....../*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)
一看錯(cuò)誤信息可知是鏈接錯(cuò)誤.
翻譯一下,首先可以知道錯(cuò)誤信息是在鏈接XXXX.o時(shí)出錯(cuò)的,(.o是鏈接文件).然后底下的ld: 5 duplicate symbols for architecture x86_64*的意思是在x86-64架構(gòu)下有5個(gè)重復(fù)符號(hào)(幾個(gè)我們不用管),重復(fù)是個(gè)關(guān)鍵字,分析有以下兩種情況可能會(huì)導(dǎo)致這種錯(cuò)誤的發(fā)生:
- 一:項(xiàng)目中重復(fù)導(dǎo)入了某些文件.,這個(gè)一般在導(dǎo)入三方庫時(shí)可能會(huì)重復(fù)導(dǎo)入.
解決辦法:只需要在文件目錄中查找到重復(fù)導(dǎo)入的文件,刪掉即可,或者將整個(gè)三方庫刪除掉,重新導(dǎo)入,或者用cocopods導(dǎo)入. - 在項(xiàng)目的某些地方需要#import"XXXX.h"*而#import"XXXX.m".