【问题标题】:ARC error when compiling编译时出现ARC错误
【发布时间】:2011-08-23 17:09:06
【问题描述】:

我正在尝试使用 LLVM GCC 4.0 编译器进行编译,但在我的多个 .m 文件中出现此错误:ARC forbids explicit message send of 'release' 我尝试使用 -fno-objc-arc 作为编译器标志,但返回错误:无法识别的命令行选项“-fno-objc-arc”。

我该如何解决这个问题?

【问题讨论】:

    标签: objective-c ios automatic-ref-counting


    【解决方案1】:

    只需删除对-release 的所有调用。您不能在 ARC 下调用 -release,因为编译器会为您插入所有必要的 retain/release 调用。阅读有关 ARC 的更多信息here

    另一种方法是使用转换工具,Xcode 可以为您将您的项目转换为 ARC(包括移除这些调用):

    要完全禁用 ARC,请更改构建设置:

    不过,我建议您开始使用 ARC,它会让事情变得更容易,实际上也更快。

    【讨论】:

    • 有没有办法在 LLVM 编译器中禁用 ARC?当我单击 Convert to Objective-C ARC... 时,它说所有目标都已使用它。
    【解决方案2】:

    如果您碰巧使用的是 ASI (http://allseeing-i.com/ASIHTTPRequest/How-to-use) api,请参考此答案,因为它需要使用 -fno-obj-arc 标志构建特定类...Files doesn't support the ARC feature, how to deal with 并参考答案标题为“为该类禁用 ARC”

    【讨论】:

      猜你喜欢
      • 2016-08-12
      • 1970-01-01
      • 2023-04-11
      • 2018-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-23
      相关资源
      最近更新 更多