c++ - 如何禁用特定包含文件的警告?

标签 c++ suppress-warnings

我希望对特定包含文件直接或间接包含的所有文件禁用特定警告。例如,我想对 #include <bar/*> 中包含的所有文件或文件中包含的文件禁用警告“您正在将字符串文字分配给 char*”。 (在我的例子中,星星的意思是“任何东西都可能在这里”)。

原因是,我必须与之一起编程的一些人不能使用“const”,所以最后我收到了很多关于特定字符串文字滥用的警告。我想忽略来自他们代码的数千条警告,这样我就可以专注于自己代码中的错误并修复它们。

我使用英特尔 C++ 和 GCC。我的一些 friend 使用clang,所以我也很高兴听到解决方案。

最佳答案

使用 GCC 时,您可以使用 -isystem 标志而不是 -I 标志来禁用来自该位置的警告。

所以如果你目前正在使用

gcc -Iparent/path/of/bar …

使用

gcc -isystem parent/path/of/bar …

相反。不幸的是,这不是一个特别细粒度的控制。我不知道更有针对性的机制。

关于c++ - 如何禁用特定包含文件的警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6321839/

相关文章:

iphone - Objective-C 中的 Javascript 样式对象

c++ - 如何在 Visual Studio 中禁用从父级继承的特定警告?

c++ - 在 C++ 中重写非虚函数时出错

c++ - QTreeWidget可以跳转到特定行(由QTreeWidgetItem或列指定)吗?

c++ - uint64_t 数据类型的未知行为

java - @SuppressWarnings 是否处理注释生成的警告?

java - @SuppressWarnings ("unchecked")不适用于拖放

c++ - 消除 MS Visual C++ 链接器警告 : "warning LNK4221"? 的最佳方法是什么

c++ - 为什么不允许具有不同数量模板参数的类/结构声明?

c++ - Qt Animate QPushButton 图标