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