重複引用錯誤:duplicate symbols for architecture x86_64

主題:重複引用庫造成的難以解決的錯誤。
錯誤關鍵字:

ld: 9 duplicate symbols for architecture x86_64

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


GenerateDSYMFile......

error: cannot parse the debug map for "/Users/LuohanCC/Library/Developer/Xcode/DerivedData/ProjectName-btzlnejejistppgnaecaydoqdomg/Build/Products/Debug-iphonesimulator/ProjectName.app/ProjectName": No such file or directory


這種錯誤一般會產生兩個錯誤:

第一個錯誤報兩個庫衝突


第二個錯誤報找不到文件




分析:從第一個錯誤看出項目中重複包含了多個Reachability(replicate symbols for architecture x86_64)
解決:如果是直接拖進項目的話,並在Search Paths中的Framework Search Paths、Library Search Paths、User Header Search Paths 中刪除引用。
如果是從Pods中引入的Reachability,直接從Pods刪除,直接刪除Podfile中的引用語句便可。
但是:如果在Pods文件夾中存在Reachability文件夾,而在Podfile中卻找不到任何Reachability的引用語句,這說明這並非是通過Pod install安裝的Reachability,而可能通過直接將其拖進Pods的方式來引用的,那怎麼解決這個重複引用的錯誤呢。
解決: 1.從Pods/Pods文件夾中刪除Reachability文件夾
2.刪除Search Paths中Header search Paths中的"${PODS_ROOT}/Headers/Public/Reachability"
3.點擊項目名Pods,刪除Pods-Reachability
4.刪除ProjectName/Pods/Pods.debug.xcconfig和Pods.release.xcconfig中的 -l"Pods-Reachability"

重新運行項目,問題解決!!!!(2、3、4步也通過全局搜索“-Reachability”定位的方式刪除對應的內容)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章