例如,我正在构建由多个 *.cpp 文件组成的项目,我只需要抑制来自其中一些文件的警告。 我使用 Eclipse 项目中使用的 Makefile。
我该怎么做?
更新:
似乎诊断编译指示用于此:
最佳答案
这取决于您构建项目的方式和编译器。我假设您使用的是 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/