在CocoaLumberjack issue #778中,当CocoaLumberjack
作为动态框架关联时,#import "DDLogMacros.h"
中的行CocoaLumberjack.h
没有任何效果。因此,LOG_ASYNC_ENABLED
(在DDLogMacros.h
中定义)未定义。
有人可以解释有关Xcode模块预处理规则的机制吗? 似乎预处理器没有“预处理”模块中的头文件。
答案 0 :(得分: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
中的顺序会影响宏