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使用和使用,但不要直接与您的应用程序链接。只需包含来自的标头;您不需要”不需要单独链接,因为它已经包含在."ABBAAB