例如,我正在构建包含多个* .cpp文件的项目,我只需要从这些文件中提取警告。 我使用Eclipse项目中使用的Makefile。
我该怎么做?
更新
似乎用于诊断的语法:
答案 0 :(得分:7)
这取决于您如何构建项目以及编译器。我假设你在Linux上并且你正在使用GCC。如果没有,类似的技术也适用于Visual Studio和其他编译器。
如果您有一个可以轻松修改的Makefile
,则可以提供不同的编译器标志来构建每个文件。禁用特定警告就像在构建行中添加-Wno-<warning-name>
一样简单,例如:-Wno-unused-local-typedefs
。
如果您无法轻松修改makefile,可以直接将#pragma
放入源代码中。例如,您可以将这样的行添加到C ++文件的顶部:
#pragma GCC diagnostic ignored "-Wno-unused-local-typedefs"
当然,真正的解决方案是修复警告。很少有警告值得注意:从长远来看,经常忽略警告会让你更加痛苦!
答案 1 :(得分:1)
要禁用所有警告
# Makefile
# disable all warnings
CXXFLAGS += -w
要禁用特定*.cpp
文件的警告,请尝试为相关目标文件指定target-specific variables:
# Makefile
# disable warnings on foobar.cpp
foobar.o: CXXFLAGS += -w
参考文献: