在项目中使用两个静态库时,由于在静态库中编译了同名类的冲突
我已经实现了两个具有以下结构的静态库:
FirstStaticLibrary.a
BaseClass.h
@interface BaseClass -some methods @end
FirstDerivedClass.h
@interface FirstDerivcedClass:BaseClass { } -some methods @end
SecondStaticLibrary.a
BaseClass.h
@interface BaseClass -some methods; @end
SecondDerivedClass.h
@interface SecondDerivedClass:BaseClass { } -someMethods; @end
以上两个静态库都有通用文件BaseClass.h和BaseClass.m
这些静态库被添加到TestApplication Project中。
但是在运行应用程序的时候,却抛出了一个错误:
在/User/Library/Developer/Xcode/..E./FirstStaticLibrary.a(BaseClass.o)和/User/Library/Developer/Xcode/..E./SecondStaticLibrary.a(BaseClass.o)中find重复的符号架构i386
请build议一种方法来消除这个错误。
答案是你可能不想听到的,但是你必须在你的一个库中改变它的名字。 假设你有权访问这两个库。
这个答案可能是你会想听到的! 我设法find一个可行的解决scheme! 希望其他人也会知道,即使在他们的框架中包含了其他的API,他们仍然需要在类上放置它们的前缀。 看这里。