2011-01-18 15 views
37

Il progetto Xcode genera automaticamente il file Prefix.pch. Quando ho cancellato questo file e ho provato a compilare, ho ricevuto un errore di compilazione che indicava la mancanza del file "* _Prefix.pch".È corretto rimuovere il file Prefix.pch dal progetto Xcode?

  • Il file Prefix.pch è un must per la compilazione con Xcode?
  • Come posso creare senza il file Prefix.pch?
+6

Perché l'hai eliminato? – spender

+1

Problema simile, felice che qualcuno abbia chiesto: sto controllando un progetto Xcode in TFS e TFS mi ha raccomandato di escludere il file .PCH (di tipo "File di intestazione precompilato"). - Sembra che Xcode non sia abbastanza intelligente da ricompilare le intestazioni se questo file manca, quindi lo includerò per ora. – BrainSlugs83

risposta

59

In Xcode, vai alle impostazioni di generazione del tuo target (Comando-Opzione-E, scheda Crea) e deseleziona Precompile Prefix Header (GCC_PRECOMPILE_PREFIX_HEADER). Se lo desideri, puoi anche rimuovere il valore dell'impostazione Prefix Header.

Le intestazioni di prefisso sono compilate e memorizzate in una cache e quindi automaticamente incluse in ogni file durante la compilazione. Ciò può accelerare la compilazione e consente di includere un file senza aggiungere un'istruzione import a tutti i file che lo utilizzano. Non sono obbligatori e in realtà rallentano la compilazione ogni volta che vengono modificati.

+8

Per citare il consiglio di Xcode stesso: "Nota: la precompilazione dell'intestazione del prefisso sarà più efficace se il contenuto dell'intestazione del prefisso o di qualsiasi file che include cambia raramente. Se il contenuto dell'intestazione del prefisso o di qualsiasi file che include cambia frequentemente, potrebbe esserci un impatto negativo sul tempo di costruzione complessivo. " Ti suggerisco di mantenere il file .pch e di aggiungere solo direttive di importazione per i framework che usi. Non lo cambierai quasi mai, quindi accelererà quasi sempre le cose. –

0

Sì, è possibile compilare ed eseguire il progetto senza file .pch. In Xcode, vai alle impostazioni di generazione del tuo target (Comando-Opzione-E, scheda Crea) e deseleziona Pre-test Prefisso Intestazione (GCC_PRECOMPILE_PREFIX_HEADER). Puoi anche rimuovere il valore dell'impostazione Prefix Header, se lo desideri.

Problemi correlati