编译时出现ARC错误
Posted
技术标签:
【中文标题】编译时出现ARC错误【英文标题】:ARC error when compiling 【发布时间】:2011-08-23 17:09:06 【问题描述】:我正在尝试使用 LLVM GCC 4.0 编译器进行编译,但在我的多个 .m 文件中出现此错误:ARC forbids explicit message send of 'release' 我尝试使用 -fno-objc-arc 作为编译器标志,但返回错误:无法识别的命令行选项“-fno-objc-arc”。
我该如何解决这个问题?
【问题讨论】:
【参考方案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”
【讨论】:
以上是关于编译时出现ARC错误的主要内容,如果未能解决你的问题,请参考以下文章