使用相同的第三方库时重复符号

时间:2015-01-26 17:39:37

标签: ios objective-c shared-libraries linker-errors duplicate-symbol

我创建了一个静态库,它使用AFNetworking作为关键角色与后端通信。虽然测试,一切都很好但是当我尝试通过再次导入它在测试应用程序上使用AFNetworking时,我得到一堆重复的符号错误

duplicate symbol _OBJC_CLASS_$_AFURLSessionManager in:
    (AFURLSessionManager.o)
    i386/AFURLSessionManager.o
duplicate symbol _OBJC_METACLASS_$_AFURLSessionManager in:

(AFURLSessionManager.o)
i386/AFURLSessionManager.o

ld: 205 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我尝试使用-force_load选项通过添加

来强制加载库
force_load $(SOURCE_ROOT)/testLib.a

在其他链接器标志中而不是-ObjC但它也没有帮助我。

为了在没有任何黑客的情况下使用它我需要做什么?

我在这里找到了这个解决方案

http://atastypixel.com/blog/avoiding-duplicate-symbol-issues-when-using-common-utilities-within-a-static-library/

但这真的不实用,

0 个答案:

没有答案