2011-08-06 5 views
7

Mam problem podczas próby migracji aplikacji na telefon iPhone do nowej technologii ARC. Kiedy próbuję przekonwertować kod, następujący błąd pojawia się 29 razy:Błąd obiektu ARC: -fobjc-arc nie jest obsługiwany z kruchym abi

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

Co to oznacza? A co ważniejsze, jak mogę to naprawić? Z góry dziękuję!

+0

Czy możesz opublikować kilka przykładów kodu dla niektórych z tych błędów? –

+0

Błędy nie są związane z określoną częścią kodu, a gdy je klikam, nic się nie dzieje –

+0

Po prostu dowiedziałem się, co to jest krucha abi, to specyficzny tryb kompilatora, ale jak mogę zmienić delikatne kompilowanie abi? –

Odpowiedz

5

Od 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

Wielkie dzięki! Działa: D –

+2

Co mam zrobić, jeśli otrzymam ten błąd w wersji 32-bitowej? aplikacji Mac OS X, ale nie wersji 64-bitowej? Czy to prawda, że ​​protokół ARC nie jest obsługiwany w 32-bitowych aplikacjach na komputer Mac pod kontrolą Lion? Przewodnik przejścia wydaje się to wskazywać (wyszukiwanie "64"): http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html – LearnCocos2D

+6

Odpowiedź: Wersja 32-bitowa + ARC nie działa, przynajmniej pod Lion. Testowałem ją, tworząc nowy komputer Mac ap p i zmienić dozwoloną architekturę na 32-bitową. – LearnCocos2D

2

zmiana kompilator.

Ustawić kompilator projektu na "LLVM GCC 4.2", zamiast "Apple LLVM 3.0"; ARC jest obsługiwane tylko podczas korzystania z Apple LLVM. Aby ustawić kompilator projektu, w swoim projekcie, w "Ustawienia kompilacji", a następnie w "Opcje kompilacji", istnieją ustawienia dla "Kompilatora dla Celu-C". Zmień tę wartość na "LLVM GCC 4.2