0

A是静态库。 B是使用库的静态A库。 C是同时使用AB库的应用程序。

重复符号的问题C很明显。

避免此问题的正确(官方)解决方案是什么。我真的很想用AB. 所有A, B,C都是我在一个 Xcode 工作区中的项目。

4

2 回答 2

0

您的导入出现问题,即

#import "A.h"
#import "B.h"
#import "C.h"

在彼此的接口中..避免这种情况的更好方法是不在.h接口类中导入文件,而是您可以轻松做到

@class A;
@class B;
@class C;

在界面中,并在文件中导入相应的.h类。.m

所以它应该看起来像这样

A.h课堂上

@class B;
@class C;

@interface A : NSObject

@end

A.m课堂上

#import "B.h"
#import "C.h"
@implementation A

@end
于 2013-07-18T09:23:56.203 回答
0

@PartiallyFinite 回答了我的问题。不幸在评论中。由于他没有回应我可以接受的评论答案,我引用他来结束这个问题。

“静态库直接编译到可执行文件/库中,因此您不需要链接C。在您的应用程序中A使用和使用,但不要直接与您的应用程序链接。只需包含来自的标头;您不需要”不需要单独链接,因为它已经包含在."ABBAAB

于 2013-07-26T17:24:48.060 回答