iOS-duplicate symbols for architecture x86_64的解决方案

转载于https://www.jianshu.com/p/687a9b77385e

对于iOS开发来说,这是灰常常见的一种错误,为了方便以后的需要,总结下Google和Stack Overflow上面的解决方案。

<1>检查Build Phases->Compile Sources中是否有重复的.m/.mm/.c等等,删除之。
<2>检查当前Project的文件(一般是第三方导入的库文件)是否有重复,删除之。
<3>检查Build Phases->Link Binary With Libraries,是否重复。
<4>搜索错误提示框中的duplicate symbols对应的xxx.o文件的文件名,找到是否有#import xxx.m之类的低级错误,改为.h。

duplicate symbol _someVariablesDuplicated in:
    /Users/Macbook/Library/Developer/xxx.build/Objects-normal/x86_64/xxx.o

<5>检查duplicate symbols后面的(此例为变量)_someVariablesDuplicated,搜索someVariablesDuplicated(注意去掉下划线再搜),检查是否有重定义。

来自其他论坛各式各样的答案,没有尝试过(我遇到的问题是第三种错误解决方案):

<1>Build Settings->Linking->Other Linker Flags,添加-all_load,删除其他值,如-Objc等。
<2>Build Settings->Architectures->Valid Architectures,去掉armv7s。
<3>Build Settings->Build Options->Enables Bitcode设置为No。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容