【问题标题】:How can I suppress compiler warnings in Xcode 5 caused by a 3rd party framework?如何抑制 Xcode 5 中由 3rd 方框架引起的编译器警告?
【发布时间】:2013-10-29 20:56:15
【问题描述】:

我有一个已导入项目的第 3 方框架,它会导致编译器警告从其头文件中的问题中显示出来。我不想更改第 3 方代码,因为它可能会在不久的将来发生变化。我找到了这篇文章:

Disable warnings in Xcode from frameworks

其中谈到了如何在每个文件或每个项目的基础上关闭警告,但我不确定如何为框架执行此操作。这是因为这些文件在技术上是存在的,但 Xcode 并未在已编译的源代码部分中显示它们。

有人知道忽略包含框架的编译器警告的方法吗?

【问题讨论】:

  • 您是否有任何具体原因要禁用它们?
  • 我不拥有也无权对框架进行更改,因此我无法自己修复它们。此外,它们夸大了我团队代码中实际存在的警告数量。
  • 附注 - 请务必向框架作者提交错误报告。
  • 你能禁用头文件中的警告吗?
  • 我曾有过这样的想法,尽管这意味着我将更改第 3 方的代码(这从来都不是一个好主意......)。框架中包含几个头文件,但我尝试添加#pragma GCC diagnostic ignored “-w”(在此之前进行适当的推送并在头文件的末尾弹出)但是当我仍然存在错误警告时构建。

标签: xcode


【解决方案1】:

我们通过在带有正确编译指示标记的预编译头文件 (.pch) 中包含有问题的文件,解决了头文件中第 3 方框架警告的相同问题。

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wmismatched-tags"
#pragma GCC diagnostic ignored "-Wreorder"

#import <ComponentKit/CKComponentViewConfiguration.h>
#import <ComponentKit/CKArrayControllerChangeset.h>
#import <ComponentKit/CKComponentDataSource.h>
#import <ComponentKit/CKComponentBoundsAnimation.h>

#pragma GCC diagnostic pop

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-26
    • 2011-03-26
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 2012-08-03
    • 1970-01-01
    相关资源
    最近更新 更多