Xcode 使用##__VA_ARGS__ 时出现编译器错误
Xcode compiler errors when using ##__VA_ARGS__
这是我自定义的NSLog。
#define NSLog(fmt, ...) printf("%s,%d\n %s\n\n", __PRETTY_FUNCTION__, __LINE__, [NSString stringWithFormat:fmt, ##__VA_ARGS__].UTF8String)
这个日志在另一个项目上运行良好,但是在当前项目编译时出现4个错误。如果使用__VA_ARGS__
,比如#define NSLog(...) NSLog(__VA_ARGS__)
,就会编译成功。我认为这可能是在 Building Setting
.
中引起的
谁有办法帮我解决这个问题。
检查声明这个的头文件是否导入了 Foundation.检查您是否也没有在其他地方定义 NSLog,最后,重新定义 NSLog 确实不是一个好主意。您最好采用日志记录框架或像这样定义自己的框架:
#define MELog(fmt, ...) NSLog("%s,%d\n %s\ ....
这是我自定义的NSLog。
#define NSLog(fmt, ...) printf("%s,%d\n %s\n\n", __PRETTY_FUNCTION__, __LINE__, [NSString stringWithFormat:fmt, ##__VA_ARGS__].UTF8String)
这个日志在另一个项目上运行良好,但是在当前项目编译时出现4个错误。如果使用__VA_ARGS__
,比如#define NSLog(...) NSLog(__VA_ARGS__)
,就会编译成功。我认为这可能是在 Building Setting
.
谁有办法帮我解决这个问题。
检查声明这个的头文件是否导入了 Foundation.检查您是否也没有在其他地方定义 NSLog,最后,重新定义 NSLog 确实不是一个好主意。您最好采用日志记录框架或像这样定义自己的框架:
#define MELog(fmt, ...) NSLog("%s,%d\n %s\ ....