8

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

我该如何解决这个问题?

4

2 回答 2

45

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

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

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

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

于 2011-08-23T17:18:37.840 回答
0

如果您碰巧正在使用 ASI ( http://allseeing-i.com/ASIHTTPRequest/How-to-use ) api,请参考这个答案,因为它需要使用特定类的 -fno-obj-arc 标志来构建...文件不支持ARC功能,如何处理并参考标题为“为该类禁用ARC”的答案

于 2012-08-02T00:45:53.663 回答