抑制实例方法覆盖链接器警告框架xcode

时间:2012-08-06 13:43:32

标签: xcode frameworks linker warnings

我有一个库,它开始在XCode 4.4下抛出几个链接器警告。警告按照" ld:warning:instance method' methodName:'来自"

中类的覆盖方法的类别

框架仍然可以正常运行,我认为编写它的公司将在下一个版本中纠正这个问题,但暂时这些警告非常烦人。有没有办法在不禁用所有链接器警告的情况下关闭它们?

2 个答案:

答案 0 :(得分:14)

我通过在Xcode构建设置区域的“Other Linker Flags”中添加标记来提出两个选项:

1)添加-Xlinker -w将禁止所有链接器警告,无论类型如何(这是ld(1)的-w标志)。显然,这会使这个特别的警告变得安静,但是所有其他的ld警告也是如此。

2)添加-Xlinker -no_objc_category_merging将跳过优化步骤,其中链接器在链接期间将所有类别方法组合到基类中,然后在运行时发生。在启动时可能会有点慢,但它可能仍然比在运行时调整方法更快,并且因为在此步骤中ld(1)发出警告,它也会跳过它。

似乎ld没有办法通过手术抑制任何个别警告编译器的方式,尽管它有几个特殊标志或其中的一组(没有一个帮助这个)。上述两种解决方案都不建议用于生产代码,但在某些情况下,其中一种可能有所帮助。

答案 1 :(得分:1)

如果存在隐藏该警告的选项,则它将位于:

Project Navigator(左侧的文件列表) - > [项目名称](带有蓝色图标的那个) - >构建设置 - > Apple LLVM编译器3.1 - 警告

此外:

In Xcode, how to suppress all warnings in specific source files?