如何在 Xcode 中抑制生成文件的编译器警告?

How do I suppress compiler warnings in Xcode for generated files?

我目前正在使用 flex/bison 生成词法分析器和解析器,整个项目都在 Xcode 中。然而,由 flex & bison 生成的文件在编译时会产生一些编译器警告。我怎样才能抑制这些警告?

我知道我可以通过 'Build Phases' 选项卡在每个文件的基础上抑制警告,但生成的文件不会出现在此处。

我尝试将标志 [-w] 添加到源文件 [即 .lpp 和 .ypp 文件],但这没有用 - Xcode 可以理解地尝试将该标志传递给 bison ,它不喜欢。

您还可以通过为 clang(或 gcc)编译器嵌入 pragma 来禁用个别警告来关闭警告。

例如,您可以对 .lpp 或 .ypp 文件执行以下操作:

%{
#pragma clang diagnostic ignored "-Wunused-variable"
%}
...
%%
...

其中 %{ ... %} 构造告诉 flex/bison 将行直接传递到输出。


参考文献:

  1. Disabling clang warnings
  2. Selectively disabling gcc warnings