2 duplicate symbols for architecture“文件冲突”

 
我在配置第三方库拷贝示例文件中的库文件到新项目完成相关配置之后报下面的错误:
 
错误的原因是在解决问题之后发现的(第三方库的项目示例demo中的 要拷贝到自己项目中的库  并不需要全部添加到自己的项目中,这个有点坑,其实真正的原因就是示例代码中移除了一些不需要的类【reference移除而已,本地项目文件依然存在】,而我们拷贝时项目中是没有移除这下类的reference)


2 duplicate symbols for architecture“文件冲突”
 
这个报错容易让人误以为是文件重复导致的(你看你最初认为是libOliveappCombineSDK2.a重复导致),于是你开始查找目录文件,发现并没有重复。
 

其实这个报错是符号重复导致的,如上图中的_IPHONE,和_IPOD所标一样,真相就是这两个符号重复了。
 
 
 

2 duplicate symbols for architecture“文件冲突”
 
​解决办法:项目文件搜索IPOD(搜索报错的字符即可),我的项目中发现_IPHONE,_IPOD这两个定义重复了,删除一个即可。
(其实我的项目中之所以重复是因为定义这两个常量的类并不都需要,只是需要一个而已,而我按照配置文档配置自己的项目时把两个都添加到自己的项目中并没有移除另一个类的reference引用,删除不需要的那个类的reference即可)