我目前正在开发一个Makefile项目,因为我使用了boost,所以在编译过程中我有很多警告,所以我不能在整个过程中启用-Werror
建立。但是,我有一组有效地为printf()
包裹的日志记录宏,所以我可以在所有日志语句中都有一个前缀,包括行号,文件库名和自定义前缀。
我想避免潜在的错误,例如无效的日志记录语句可能会使软件崩溃(即:一个很少发生导致段错误的调试警告语句)。
是否可以将参数传递给make
以使某些函数的所有实例或至少在头文件中定义的所有宏都将警告视为错误?
谢谢。
答案 0 :(得分:0)
你可以用
#pragma warning (error: 0001)
其中0001是您想要成为错误的警告
答案 1 :(得分:0)
据我所知,没有标准的,可移植的方法,因此解决方案将取决于您的编译器。
使用GCC,您可以使用Diagnostic Pragmas
例如,#pragma GCC diagnostic error "-Werror"
将为文件的其余部分启用Werror。
当然这不是便携式的,所以如果您使用其他编译器,则需要将其包装在#ifdef __GNUC__