Objective-C controllo della sintassi
-
13-09-2019 - |
Domanda
C'è un controllo della sintassi Objective-C?
Ho provato gcc -fsyntax-only
ma in realtà non è 'la sintassi solo'. Produce ancora errori, se eseguito su un singolo file di attuazione che ha riferimenti a contesti esterni.
Sto cercando qualcosa che può eseguire un controllo della sintassi su singoli file di intestazione o di implementazione senza tentare di collegare o produrre file oggetto.
Può gcc
fare questo con le bandiere supplementari non sono a conoscenza di, o c'è un altro strumento fino a questo compito?
Io voglio farlo dalla riga di comando. Può xcodebuild fare questo per un singolo file? xcodebuild corsa per l'intero progetto per verificare la sintassi di un file è un po 'troppo.
Soluzione 3
Così, dopo la pesca a strascico attraverso la pagina gcc
uomo che ho scoperto la bandiera -F
che consente di aggiungere una directory quadro alla lista di directory gcc
cerca i file di intestazione.
Questo risolve il mio problema.
Utilizzare questo modo: gcc -fsyntax-only -ObjC -F/Path/To/A/Framework -F/Path/To/Another/Framework File.m
Altri suggerimenti
Non c'è alcun modo per poter controllare la sintassi senza sapere sui file di intestazione per i quadri che si sta utilizzando. È necessario utilizzare il flag -Framework per includere i file di intestazione in questione.
Si potrebbe provare a utilizzare clang -fsyntax-solo che invece, soprattutto se si sta utilizzando 10,6 / Xcode 3.2. Clang / LLVM ha molto migliore separazione tra il parser e le altre parti della catena compilatore. Potete trovare clang in / Developer / usr / bin.
È possibile compilare un singolo file in Xcode [1] utilizzando Build-> Compile (cmd-K), che è effettivamente un controllo della sintassi (non c'è nessun passo che collega).
[1] Presumo che si sta utilizzando Xcode, come non ha senso nel usando Objective-C senza OS X (in realtà i quadri di cacao).