使用Clang抑制匿名结构警告 - “-fms-extensions”不起作用

时间:2013-03-19 16:25:17

标签: visual-c++ clang compiler-warnings suppress-warnings compiler-flags

我有一个Xcode项目,我使用一些使用Visual Studio C代码的第三方库与Clang编译。

在第三方库中,匿名结构用在头文件中(我无法真正改变它)。因此我收到了这个警告:

“myfile.h:47:17:匿名结构是GNU扩展”

如此处所述,我试图在我的Xcode项目的C标志中传递“-fms-extensions”: http://clang.llvm.org/docs/UsersManual.html#microsoft-extensions

没有运气。知道怎么摆脱那个警告吗?

2 个答案:

答案 0 :(得分:3)

添加-Wno-microsoft对我不起作用。

使用这个小测试程序

typedef struct test_struct
{
  struct
  {
    int a;
    int b;
  };
  int x;
} Test;

int main(int argc, char **argv)
{
  Test test;
  test.a = 0;
}

使用-Wno-gnu禁用警告

版本是Apple LLVM版本5.0(clang-500.2.79)(基于LLVM 3.3svn)

答案 1 :(得分:2)

您只需使用-Wno-microsoft隐藏警告。