Xcode警告:…是一个GNU扩展

我为iOS应用程序使用C ++库。 随着苹果LLVM 3.1编译器configuration(默认),我得到了很多这个C + +代码的警告,其中大部分说:

... is a GNU extension 

clang用户手册的介绍: Clang驱动程序和语言特性被有意devise为尽可能与GNU GCC编译器兼容,从GCC到Clang的迁移也变得容易。 在大多数情况下,代码“正常工作”。

所以,只是寻找一个开关来禁用这个警告(顺便说一句,如何?),或者我应该更好地得到这个lib摆脱所有的GNU扩展?

您可以使用编译器标志禁止警告。 铿锵告诉你哪个编译器标志用于每个警告。 构build完成后,select“视图”>“导航器”>“显示日志导航器”。 然后从日志导航器中select最新的生成日志。 查找带有警告的文件,然后单击其状态行右端的披露button。 Xcode会向您显示编译器的命令行和该文件的输出。 每个警告应该包括启用警告的编译器标志。 例:

在这里输入图像说明

在我的例子中,警告标志是-Wpointer-arith 。 所以警告可以通过-Wno-pointer-arith禁用 。 所以我可以将该标志添加到“其他警告标志”构build设置:

在这里输入图像说明