代码之家  ›  专栏  ›  技术社区  ›  Parker Coates

clang:将所有警告和警告重写为命令行前面指定的错误标志

  •  1
  • Parker Coates  · 技术社区  · 6 年前

    gcc 我可以扔一堆 -Wsome-issue -Werror=other-issue 命令行上的标志,稍后用一个 -w 在接近尾端的地方打旗子。

    似乎不是这样的 clang . 尾随的 -W 禁止某些警告,但不禁止其他警告。见 here 例如。我知道我可以通过 -Wno-some-issue -Wno-error=other-issue 但从长远来看,这是一个真正的痛苦。

    我错过什么了吗?是否有取消所有早期警告标志的方法?有什么原因吗 -W 可以禁止某些警告,但不能禁止其他警告?

    背景:我的特定用例是一个包含混合源文件的库。一些新的,一些古老的,半第三方的东西,我们不想看,更不用说编辑了。该项目在全局设置了一些半严格的警告标志,但对于这几个文件,我想覆盖全局标志,并禁用所有警告和警告作为错误。在cmake中,通过设置 COMPILE_OPTIONS 海湾合作委员会 这个很好用,但是 铿锵声 事实证明这是一个头痛的问题。

    (是的,我知道我可以重新组织项目以强制将这些文件编译成单独的目标,但我希望避免这种情况。)

    1 回复  |  直到 5 年前
        1
  •  3
  •   valiano    6 年前

    你需要的标志是 -Wno-everything .

    锚杆: https://godbolt.org/g/33uABD