1

CocoaLumberjack 问题 #778中,当CocoaLumberjack作为动态框架链接时,行#import "DDLogMacros.h"inCocoaLumberjack.h没有任何效果。因此,LOG_ASYNC_ENABLED(在 中定义DDLogMacros.h)是未定义的。

有人能解释一下Xcode模块预处理规则的机制吗?预处理器似乎没有“预处理”模块中的标头。

4

1 回答 1

1

我不清楚预处理规则,但添加 #import <CocoaLumberJack/DDLog+LOGV.h>可以处理。

在 中CocoaLumberjack-umbrella.h,顺序如下:

#import "DDLog+LOGV.h"
#import "DDLog.h"
#import "DDLogMacros.h"

如果我像这样更改顺序也没关系:

#import "DDLogMacros.h"   
#import "DDLog+LOGV.h"
#import "DDLog.h"

DDLog+LOGV.h也定义LOG_ASYNC_ENABLED中,我猜想中的顺序CocoaLumberjack-umbrella.h会影响宏

于 2017-03-06T09:16:13.567 回答