重复引用错误:duplicate symbols for architecture x86_64

来源:互联网 发布:济南赛博网络进校 编辑:程序博客网 时间:2024/06/01 09:57
主题:重复引用库造成的难以解决的错误。
错误关键字:

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”定位的方式删除对应的内容)


1 0
原创粉丝点击