ios - Xcode 警告 : . .. 是 GNU 扩展

标签 ios llvm clang gnu

我将 C++ 库用于 iOS 应用。配置了 Apple LLVM 3.1 编译器(默认)后,我收到了很多针对此 C++ 代码的警告,其中大部分是这样说的:

... is a GNU extension

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

那么,是否只需要寻找一个开关来禁用此警告(顺便说一句,怎么做?)还是我应该最好让这个库摆脱所有 GNU 扩展?

最佳答案

您可以使用编译器标志抑制警告。 Clang 告诉您每个警告要使用哪个编译器标志。构建后,选择“查看”>“导航器”>“显示日志导航器”。然后从日志导航器中选择最新的构建日志。找到带有警告的文件,然后单击其状态行右端的披露按钮。 Xcode 将向您显示该文件的编译器命令行和输出。每个警告都应包括启用警告的编译器标志。示例:

enter image description here

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

enter image description here

关于ios - Xcode 警告 : . .. 是 GNU 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12756188/

相关文章:

iOS 渲染表格 View 单元格背景颜色与按钮图像颜色不同,导致相同颜色的深浅差异很大

ios - 运行时从任何地方的 didReceiveRemoteNotification presentViewController

c++ - 如何找到应该导出的符号

python - 什么时候调用 __lldb_init_module?

arm - 如何使用llvm + clang编译为stm32

c - 为什么 float 和 int 相加结果是 float?

c++ - Clang 无法从基类中找到 const 模板成员函数

ios - 关闭呈现的 UIViewController 时应用程序偶尔崩溃

ios - Facebook 从新闻提要链接到您的应用程序无法正常工作

ios - Apple Mach-O 链接器错误 - ld : file not found: -ObjC