2011-08-23 138 views
8

我想使用LLVM GCC 4.0编译器进行编译,并且在我的.m文件的多个位置出现此错误:ARC禁止'释放'的显式消息发送 我试过使用-fno -objc-arc作为编译器标志,但会返回错误:无法识别的命令行选项“-fno-objc-arc”。编译时出现ARC错误

我该如何解决这个问题?

回答

45

只需删除所有致电-release。您不允许在ARC下拨打-release,因为编译器会为您插入所有必要的retain/release调用。阅读更多关于ARC here

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

要完全禁用ARC,改变你的构建设置:

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

+0

有没有什么办法可以在LLVM编译器中禁用ARC?当我点击Convert to Objective-C ARC ...它说所有的目标已经在使用它。 – Ben

+0

当然,我会在一秒钟内更新我的答案。 – jtbandes