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.

È stato utile?

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).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top