我将 C++ 库用于 iOS 应用。配置了 Apple LLVM 3.1 编译器(默认)后,我收到了很多针对此 C++ 代码的警告,其中大部分是这样说的:
... is a GNU extension
clang的用户手册的介绍是这样说的: Clang 驱动程序和语言功能特意设计为尽可能与 GNU GCC 编译器兼容,从而简化从 GCC 到 Clang 的迁移。在大多数情况下,代码“正常工作”。
那么,是否只需要寻找一个开关来禁用此警告(顺便说一句,怎么做?)还是我应该最好让这个库摆脱所有 GNU 扩展?
最佳答案
您可以使用编译器标志抑制警告。 Clang 告诉您每个警告要使用哪个编译器标志。构建后,选择“查看”>“导航器”>“显示日志导航器”。然后从日志导航器中选择最新的构建日志。找到带有警告的文件,然后单击其状态行右端的披露按钮。 Xcode 将向您显示该文件的编译器命令行和输出。每个警告都应包括启用警告的编译器标志。示例:
在我的示例中,警告标志是 -Wpointer-arith
。因此可以通过-Wno-pointer-arith
禁用警告。所以我可以将该标志添加到“其他警告标志”build设置中:
关于ios - Xcode 警告 : . .. 是 GNU 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12756188/