c++ - 使用 g++ 构建时如何抑制来自某些文件的警告?

标签 c++ eclipse makefile g++ compiler-warnings

例如,我正在构建由多个 *.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直接进入你的源代码。例如,您可以在 C++ 文件的顶部添加这样一行:

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

当然,真正的解决办法是修复警告。很少有不值得注意的警告:从长远来看,经常忽视警告会给您带来更多痛苦!

关于c++ - 使用 g++ 构建时如何抑制来自某些文件的警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33806483/

相关文章:

c++ - 静态库中对 c++11 原子的 undefined reference

c++ - 类和结构后的分号

c++ - SDL_Surface 分割错误

java - NoClassDefFound错误: kafka/serializer/StringDecoder after exporting jar

debugging - 你可以在 Makefile 中使用断点吗?

c++ - 如何从 CodeBlocks 或 Makefile 强制包含 header ?

c++ - 是否可以在 C++ 中初始化一个 vector 并同时返回它?

c++ - 错误 : class is not a template

java - 错误 : Unable to open class file R. java

java - 返回最大的三位数