繁体   English   中英

使用g ++构建时如何抑制某些文件中的警告?

[英]How to supress warnings from some files when building with g++?

例如,我正在构建包含多个* .cpp文件的项目,我只需要从这些文件中提取警告。 我使用Eclipse项目中使用的Makefile。

我该怎么做?

更新:

似乎诊断编译用于此:

https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html

这取决于您构建项目的方式以及编译器。 我假设你在Linux上并且你正在使用GCC。 如果没有,类似的技术也适用于Visual Studio和其他编译器。

如果您有一个可以轻松修改的Makefile ,则可以提供不同的编译器标志来构建每个文件。 禁用特定警告就像在构建行中添加-Wno-<warning-name>一样简单,例如: -Wno-unused-local-typedefs

如果您无法轻松修改makefile,可以直接将#pragma s放入源代码中。 例如,您可以将这样的行添加到C ++文件的顶部:

#pragma GCC diagnostic ignored "-Wno-unused-local-typedefs"

当然,真正的解决方案是修复警告。 很少有警告不值得注意:从长远来看,经常忽略警告会让你更加痛苦!

要禁用所有警告

# Makefile

# disable all warnings
CXXFLAGS += -w

要禁用特定*.cpp文件的警告,请尝试为相关目标文件分配特定目标的变量

# Makefile

# disable warnings on foobar.cpp
foobar.o: CXXFLAGS += -w

参考文献:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM