Xcode警告:...是GNU扩展

4

我在iOS应用中使用了一个C++库。当苹果LLVM 3.1编译器被配置为默认时,我会收到大量有关此C++代码的警告,其中大多数都是这样的:

... is a GNU extension

clang的用户手册介绍说: Clang驱动程序和语言特性被有意地设计为尽可能与GNU GCC编译器兼容,从而方便从GCC迁移到Clang。 在大多数情况下,代码“只需工作”。 那么,是否可以安全地查找一个开关以禁用这些警告(顺便问一下如何禁用),还是应该最好摆脱所有GNU扩展功能?

它们是警告而不是错误,所以忽略它们? - Steve-o
1个回答

8
您可以使用编译器标志来抑制警告。Clang会为每个警告告诉您要使用哪个编译器标志。构建完成后,选择“查看”>“导航器”>“显示日志导航器”。然后从日志导航器中选择最新的构建日志。找到一个带有警告的文件,并单击其状态行右端的披露按钮。Xcode将为该文件显示编译器命令行和输出。每个警告都应包括启用警告的编译器标志。例如: enter image description here 在我的示例中,警告标志是-Wpointer-arith。因此,可以通过-Wno-pointer-arith禁用该警告。因此,我可以将该标志添加到“其他警告标志”构建设置中: enter image description here

2
同时添加-Wno-gnu可以在使用GNU的MAX / MIN时隐藏警告。 - hsafarya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接