注册

导入库到自己项目时出现的 duplicate symbol

你好:
今天按照环信官网的提示操作(链接地址:http://www.easemob.com/docs/ios/ios/),一步一步将环信功能引入到了自己的项目中,出现了如下的错误,主要是DDXMLDocunent这个三方库重复引用的问题。
duplicate symbol _OBJC_CLASS_$_DDXMLDocument in: /Users/**/EaseMobSDK/lib/libEaseMobClientSDKLite.a(DDXMLDocument.o) /Users/sdyg82cn/Library/Developer/Xcode/DerivedData/SnapECGII-fldzuekvhyerlacibkszptvpgvkx/Build/Intermediates/ECGPatient.build/Debug-iphoneos/ECGPatient.build/Objects-normal/armv7/DDXMLDocument.oduplicate symbol _OBJC_METACLASS_$_DDXMLDocument in: /Users/**/EaseMobSDK/lib/libEaseMobClientSDKLite.a(DDXMLDocument.o) /Users/sdyg82cn/Library/Developer/Xcode/DerivedData/SnapECGII-fldzuekvhyerlacibkszptvpgvkx/Build/Intermediates/ECGPatient.build/Debug-iphoneos/ECGPatient.build/Objects-normal/armv7/DDXMLDocument.oduplicate symbol _OBJC_CLASS_$_DDXMLElement in: /Users/**/EaseMobSDK/lib/libEaseMobClientSDKLite.a(DDXMLElement.o) /Users/sdyg82cn/Library/Developer/Xcode/DerivedData/SnapECGII-fldzuekvhyerlacibkszptvpgvkx/Build/Intermediates/ECGPatient.build/Debug-iphoneos/ECGPatient.build/Objects-normal/armv7/DDXMLElement.o
分析: 出现这个问题的原因是我的项目中有DDXMLDocunent这个库(KissXML),而libEaseMobClientSDKLite.a中的库中应该也有DDXMLDocunent这个三方库(KissXML)
这个要怎么解决呢?^-^
已邀请:
把你项目中的删了就可以了,http://www.cocoachina.com/bbs/read.php?tid=188289
> forum.php?mod=redirect&goto=findpost&pid=1057&ptid=601
把你项目中的删了就可以了,http://www.cocoachina.com/bbs/read.php?tid=188289


版主您好:
我是将自己项目中的库给重命名了,解决了这个问题。
同时想提一个建议:在《Effective Objective-c 2.0》这本书中,第25条中有写,当我们提供三方库给用户使用的时候,强烈建议加前缀,避免冲突。
如果大量用户使用的三方库和您们的库很多,而且也做了相应的Category或者修改(这个场景很常见:-)),那用户修改会很麻烦的。
> forum.php?mod=redirect&goto=findpost&pid=1059&ptid=601
版主您好:
我是将自己项目中的库给重命名了,解决了这个问题。
同时想提一个建议:在《Effectiv ...


赞。

要回复问题请先登录注册