2011-08-06 62 views
7

我在嘗試將我的iPhone應用遷移到新的ARC技術時遇到問題。當我嘗試轉換代碼時,出現以下錯誤29次:Objective-C ARC錯誤:-fobjc-arc不受易碎abi支持

Apple LLVM compiler 3.0 Error 
-fobjc-arc is not supported with fragile abi 

這是什麼意思?更重要的是,我該如何解決它? 在此先感謝!

+0

您能爲這些錯誤發佈一些代碼示例嗎? –

+0

錯誤與代碼的特定部分無關。當我點擊它們時,什麼也沒有發生。 –

+0

我只是發現一個脆弱的abi是什麼,它是一個特定的編譯模式,但是我怎樣才能編譯脆弱的abi? –

回答

5

Apple's developer forums

This is an unfortunate bug in Seed 3, where the migrator and simulator aren't working well together. To address this, just switch to a device target, then do migration.

+0

非常感謝!它的工作原理:D –

+2

如果我在32位版本中遇到此錯誤,該怎麼辦? Mac OS X應用程序,但不是64位版本?在Lion下的32位Mac應用程序中ARC不支持ARC嗎?轉換指南似乎表明了這一點(搜索「64」):http:/ /developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html – LearnCocos2D

+6

答案:32位+ ARC是一個不用去,至少在Lion下。我通過創建一個新的Mac來測試它美聯社p並將允許的體系結構更改爲包含32位。 – LearnCocos2D

2

改變編譯器。

將項目編譯器設置爲「LLVM GCC 4.2」,而不是「Apple LLVM 3.0」; ARC僅在使用Apple LLVM時受支持。要設置項目編譯器,請在項目的「構建設置」下,然後在「構建選項」下,設置「編譯器爲Objective-C」。將該值更改爲「LLVM GCC 4.2