Xcode警告:...是GNU扩展

时间:2012-10-06 02:30:33

标签: ios llvm clang gnu

我在iOS应用程序中使用C ++库。配置Apple LLVM 3.1编译器(默认)后,我收到很多关于这个C ++代码的警告,其中大多数都说:

... is a GNU extension

clang的用户手册介绍说: Clang驱动程序和语言功能被有意设计为尽可能与GNU GCC编译器兼容,从而简化了从GCC到Clang的迁移。在大多数情况下,代码"只是工作"。

那么,只是寻找一个开关来禁用这个警告(顺便说一句,怎么样?)或者我应该更好地使这个lib摆脱所有GNU扩展吗?

1 个答案:

答案 0 :(得分:8)

您可以使用编译器标志来禁止警告。 Clang告诉你每个警告使用哪个编译器标志。构建完成后,选择View>导航器>显示日志导航器。然后从日志导航器中选择最新的构建日志。找到带有警告的文件,然后单击其状态行右端的“泄露”按钮。 Xcode将显示该文件的编译器命令行和输出。每个警告都应包含启用警告的编译器标志。例如:

enter image description here

在我的示例中,警告标志为-Wpointer-arith。因此-Wno-pointer-arith可以禁用警告。所以我可以将该标志添加到“其他警告标志”构建设置:

enter image description here