2013-03-05 9 views
7

Próbuję skompilować źródła z Xcode 4.6 dla architektury 32-bitowej, ale otrzymuję ten błąd:Objective-C ARC i Legacy Runtime Błąd kompilacji

error: -fobjc-arc is not supported on platforms using the legacy runtime 
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1 

Co się stało?

Odpowiedz

14

Łączymy ARC (automatyczne liczenie odwołań) ze starszym środowiskiem wykonawczym Objective-C 1.0, które nie obsługuje ARC.

32-bitowe aplikacje na OSX, automatycznie korzystają z wersji 1.0 Runtime, więc będziesz musiał wyłączyć ARC dla swojego projektu i korzystać z ręcznego liczenia odnośników.

+0

Co się stanie, jeśli komunikat pojawi się podczas kompilowania aplikacji na iOS? –

+0

Najprawdopodobniej kierujesz swoją aplikację na iOS do starszej wersji iOS, która nie obsługuje ARC. – Alan

+1

Również Visual Source Safe to diabeł. – Alan

1

Ten problem ostatnio się pojawił, ponieważ Xcode 5 usuwa parametr ARCHS - jeśli mu na to pozwolisz. Ale jeśli masz serwer budujący z Xcode 4, domyślnie jest to budynek 32 i 64-bitowy, który kończy się niepowodzeniem, jeśli masz włączone ARC.

Zobacz mój writeup, aby uzyskać bardziej szczegółowe wyjaśnienie.

Powiązane problemy