A
是静态库。
B
是使用库的静态A
库。
C
是同时使用A
和B
库的应用程序。
重复符号的问题C
很明显。
避免此问题的正确(官方)解决方案是什么。我真的很想用A
在B
. 所有A
, B
,C
都是我在一个 Xcode 工作区中的项目。
A
是静态库。
B
是使用库的静态A
库。
C
是同时使用A
和B
库的应用程序。
重复符号的问题C
很明显。
避免此问题的正确(官方)解决方案是什么。我真的很想用A
在B
. 所有A
, B
,C
都是我在一个 Xcode 工作区中的项目。
您的导入出现问题,即
#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
@PartiallyFinite 回答了我的问题。不幸在评论中。由于他没有回应我可以接受的评论答案,我引用他来结束这个问题。
“静态库直接编译到可执行文件/库中,因此您不需要链接C
。在您的应用程序中A
使用和使用,但不要直接与您的应用程序链接。只需包含来自的标头;您不需要”不需要单独链接,因为它已经包含在."A
B
B
A
A
B