我想使用LLVM GCC 4.0編譯器進行編譯,並且在我的.m文件的多個位置出現此錯誤:ARC禁止'釋放'的顯式消息發送 我試過使用-fno -objc-arc作爲編譯器標誌,但會返回錯誤:無法識別的命令行選項「-fno-objc-arc」。編譯時出現ARC錯誤
我該如何解決這個問題?
我想使用LLVM GCC 4.0編譯器進行編譯,並且在我的.m文件的多個位置出現此錯誤:ARC禁止'釋放'的顯式消息發送 我試過使用-fno -objc-arc作爲編譯器標誌,但會返回錯誤:無法識別的命令行選項「-fno-objc-arc」。編譯時出現ARC錯誤
我該如何解決這個問題?
只需刪除所有致電-release
。您不允許在ARC下撥打-release
,因爲編譯器會爲您插入所有必要的retain
/release
調用。閱讀更多關於ARC here。
另一種方法是使用轉換工具,以及Xcode中可以將項目轉化爲ARC(包括移除這些調用)爲您:
要完全禁用ARC,改變你的構建設置:
但是,我建議你開始使用ARC,它會使事情變得更容易,而且實際上也更快。
如果你碰巧使用ASI(http://allseeing-i.com/ASIHTTPRequest/How-to-use)API,請參考這個答案,因爲它需要使用-fno-OBJ弧標誌爲特定的類建立... Files doesn't support the ARC feature, how to deal with和參考標題爲答案「禁用ARC對於這一類'
有沒有什麼辦法可以在LLVM編譯器中禁用ARC?當我點擊Convert to Objective-C ARC ...它說所有的目標已經在使用它。 – Ben
當然,我會在一秒鐘內更新我的答案。 – jtbandes