2011-08-23 140 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