2

我已经实现了两个具有以下结构的静态库:

第一静态库.a

基类.h

@interface BaseClass

-some methods

@end

FirstDerivedClass.h

@interface FirstDerivcedClass:BaseClass
{
}

-some methods

@end

第二静态库.a

基类.h

@interface BaseClass

-some methods;

@end

第二派生类.h

@interface SecondDerivedClass:BaseClass
{
}

-someMethods;

@end

上面两个静态库有公共文件 BaseClass.h 和 BaseClass.m

这些静态库被添加到 TestApplication 项目中。

但是在运行应用程序时,它会抛出一个错误:

在 /User/Library/Developer/Xcode/..E./FirstStaticLibrary.a (BaseClass.o) 和 /User/Library/Developer/Xcode/..E./SecondStaticLibrary.a (BaseClass.o) 中发现重复符号架构 i386

请提出一种消除此错误的方法。

4

2 回答 2

3

答案是您可能不想听到的,但您必须更改其中一个库的名称。假设您可以访问这两个库。

于 2011-12-16T21:43:59.310 回答
1

这个答案可能是你想听到的!我设法找到了一个可行的解决方案!希望其他人能够了解到,即使他们将其他 API 包含到他们的框架中,他们仍然需要将其前缀放在类上。 看这里。

于 2012-07-26T07:13:09.423 回答