c++ - Clang:覆盖之前在命令行中指定的所有警告和警告为错误的标志

标签 c++ c clang

使用 gcc 我可以在命令行上抛出一堆 -Wsome-issue-Werror=other-issue 标志,然后稍后在接近尾声的地方用一个 -w 标志取消它们。

clang 似乎不是这种情况。尾随的 -w 会抑制一些警告,但不会抑制其他警告。参见 here举个例子。我知道我可以通过 -Wno-some-issue-Wno-error=other-issue 手动单独禁用每个警告,但从长远来看这真的很痛苦术语。

我错过了什么吗?有没有办法取消所有早期的警告标志? -w 可以抑制某些警告但不能抑制其他警告的原因吗?

背景:我的具体用例是一个包含混合源文件的库。一些新的和一些古老的、半第三方的东西,我们永远不想看,更不用说编辑了。该项目在全局设置了一些半严格的警告标志,但对于这几个文件,我想覆盖全局标志并禁用所有警告和 warnings-as-werrors。在 CMake 中,这是通过为这些文件设置 COMPILE_OPTIONS 属性来完成的,它将给定的标志附加到全局标志之后。使用 gcc 这工作得很好,但使用 clang 证明是一件令人头疼的事情。

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

最佳答案

你需要的标志是-Wno-everything

神马:https://godbolt.org/g/33uABD

关于c++ - Clang:覆盖之前在命令行中指定的所有警告和警告为错误的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50590255/

相关文章:

c - 在 OpenGL ES 2.0 中,当将 FBO 与纹理深度缓冲区一起使用时,深度纹理缓冲区不起作用

字符串数组的 C 数组

c++ - 在 C++0x 中,非静态数据成员初始化器会覆盖隐式复制构造函数吗?

clang - 如何从 github 源编译 memcached?

c++ - libcurl curl_easy_perform() 在函数内部移动时导致程序崩溃

c++ - OpenMesh Decimater 不会减少顶点数

c - C中括号对指针有什么作用

Clang:如何获取用于常量大小数组声明大小的宏名称

c++ - 显示图像第 2 版

当参数包含 std::function 时,C++ 模板参数推导失败并出现错误 "candidate template ignored"...为什么?