ARC-Fehler beim Kompilieren

8

Ich versuche, mit dem LLVM GCC 4.0-Compiler zu kompilieren, und ich bekomme diesen Fehler in mehreren meiner .m-Dateien: ARC verbietet explizite Nachricht senden von 'release' Ich habe versucht, -fno-objc-arc als Compiler-Flag zu verwenden, aber das gibt den Fehler zurück: Nicht erkannte Befehlszeilenoption "-fno-objc-arc".

Wie kann ich das lösen?

    
Ben 23.08.2011, 17:09
quelle

2 Antworten

45

Entfernen Sie einfach alle Aufrufe von -release . Sie dürfen -release nicht unter ARC aufrufen, da der Compiler alle erforderlichen Aufrufe von retain / release für Sie einfügt. Lesen Sie mehr über ARC hier .

Die andere Möglichkeit besteht darin, das Konvertierungstool zu verwenden, und Xcode kann Ihr Projekt für Sie in ARC konvertieren (einschließlich Entfernen dieser Aufrufe):

Um ARC vollständig zu deaktivieren, ändern Sie Ihre Build-Einstellungen:

Ich würde jedoch empfehlen, ARC zu verwenden, es wird die Dinge viel einfacher und auch schneller machen.

    
jtbandes 23.08.2011 17:18
quelle
0

Wenn Sie die ASI-API ( Ссылка ) api verwenden, lesen Sie die folgende Antwort muss mit -fno-obj-arc Flags für bestimmte Klassen erstellt werden ... Dateien unterstützt nicht die ARC-Funktion, wie Sie mit umgehen und beziehen sich auf die Antwort" Deaktivieren ARC für diese eine Klasse "

    
HCdev 02.08.2012 00:45
quelle