【问题标题】:Is there anything similar to "#pragma GCC system_header" for MSVS?有没有类似于 MSVS 的“#pragma GCC system_header”的东西?
【发布时间】:2020-01-25 11:48:35
【问题描述】:

我们尝试在项目中启用尽可能多的警告,并将警告提升为错误。我们禁用无用的警告或过于模糊的警告。

最近我在我们的项目中添加了一个第三方单头库。它有一些警告,我们不想在此文件中禁用或修复。

我发现 GCC 有#pragma GCC system_header,它将当前文件视为系统文件(通过使用-isystem 而不是-I),这会禁用来自该文件的所有警告。

问题是 - 在 Visual Studio 中是否有与此 pragma 类似的东西?

【问题讨论】:

  • 不,不是那样的。请务必将此类代码隔离在其自己的翻译单元中。但如果有必要,只需编写您自己的 .h 文件,其中 #include 包含不稳定的文件。用#pragma warning push/pop 包裹以暂时抑制警告。

标签: visual-studio compiler-warnings pragma


【解决方案1】:

我用来禁用来自第三方标头的警告的解决方案:

#pragma warning(push, 0)
#include <...>
#pragma warning(pop)

【讨论】:

    猜你喜欢
    • 2010-12-01
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 2016-06-17
    • 1970-01-01
    相关资源
    最近更新 更多