函数 'DLog' 的隐式声明在 C99 中无效
Implicit declaration of function 'DLog' is invalid in C99
我在这里使用了 NSLog 的宏版本,http://objdev.com/2014/06/debug-logging
像这样,
#ifdef DEBUG
#define DLog(...) NSLog(@"%s(%p) %@", __PRETTY_FUNCTION__, self, [NSString stringWithFormat:__VA_ARGS__])
#endif
它工作正常,直到我将应用程序 运行 模式从 Debug
更改为 Release
。
现在我得到以下错误:
Implicit declaration of function 'DLog' is invalid in C99.
我该如何解决?
我看了很多问题,
error:'implicit declaration of function 'nslog' is invalid at C99', ARC warning: Implicit declaration of function 'DLog' is invalid in C99 and Implicit declaration of function - C99,
但是 none 的答案对我有用。
P.S。此问题与 CocoaLumberjack 完全无关。
错误告诉您 DLog
在 Release
模式下没有任何定义。
只需将其更改为:
#ifdef DEBUG
#define DLog(...) NSLog(@"%s(%p) %@", __PRETTY_FUNCTION__, self, [NSString stringWithFormat:__VA_ARGS__])
#else
#define DLog(...)
#endif
编辑:如果是发布模式,DLog 将不执行任何操作(空白函数)。如果是debug模式,DLog会按照你的要求打印log。
由于 #ifdef DEBUG
指令
,宏仅在您编译代码和调试模式时定义
我在这里使用了 NSLog 的宏版本,http://objdev.com/2014/06/debug-logging
像这样,
#ifdef DEBUG
#define DLog(...) NSLog(@"%s(%p) %@", __PRETTY_FUNCTION__, self, [NSString stringWithFormat:__VA_ARGS__])
#endif
它工作正常,直到我将应用程序 运行 模式从 Debug
更改为 Release
。
现在我得到以下错误:
Implicit declaration of function 'DLog' is invalid in C99.
我该如何解决?
我看了很多问题, error:'implicit declaration of function 'nslog' is invalid at C99', ARC warning: Implicit declaration of function 'DLog' is invalid in C99 and Implicit declaration of function - C99, 但是 none 的答案对我有用。
P.S。此问题与 CocoaLumberjack 完全无关。
错误告诉您 DLog
在 Release
模式下没有任何定义。
只需将其更改为:
#ifdef DEBUG
#define DLog(...) NSLog(@"%s(%p) %@", __PRETTY_FUNCTION__, self, [NSString stringWithFormat:__VA_ARGS__])
#else
#define DLog(...)
#endif
编辑:如果是发布模式,DLog 将不执行任何操作(空白函数)。如果是debug模式,DLog会按照你的要求打印log。
由于 #ifdef DEBUG
指令