avviso di compilazione: nessuna regola per elaborare il file per l'architettura i386


245

Come posso risolvere questo avviso?

Avviso [WARN]: nessuna regola per elaborare il file '$ (PROJECT_DIR) /MyApp/MessageCell.h' di tipo sourcecode.objj.h per l'architettura i386


Dice anche che sta cercando di compilare i file di intestazione come sourcecode.objj.h da Objective-J (che utilizza anche i file .h per le intestazioni), hai Cappuccino installato?
themarketka,

Risposte:


576

Fai clic sul tuo progetto e verifica che questo file non sia presente nella scheda Crea fasi. Normalmente nessun file di intestazione dovrebbe rimanere qui. Puliscilo e costruiscilo di nuovo, dovrebbe funzionare!


1
ho alcuni file di intestazioni lì dentro. Solo curioso, perché le intestazioni non dovrebbero essere lì?
Sheehan Alam,

30
Perché questo è l'elenco dei file sorgente che verranno compilati e normalmente hai già incluso <file> .h all'interno del tuo <file> .m
Giuseppe,

1
Ogni volta che creo una nuova classe, il mio XCode aggiunge automaticamente i file di intestazione alle mie fasi di compilazione. Non so perché, qualcuno ha la minima idea del perché questo accada? Attualmente ogni volta che creo una nuova classe, devo eliminare manualmente i file di intestazione dalle fasi di compilazione.
Bocaxica,

1
Potrei aggiungere che un file .h potrebbe apparire nelle fasi di compilazione (quando non dovrebbe) perché il file .m ha (per errore) un nome diverso.
Ali,

questo avrebbe perfettamente senso ... Avevo creato il file originariamente come .cpp e poi ribattezzato in un .h
ddavison il


17

Siamo in grado di risolvere questo problema semplicemente seguendo le istruzioni riportate di seguito: - Alcuni .md, .mdown .hi file sono inclusi nel compilare i sorgenti
Fase 1) Selezionare Navigatore progetto
Fase 2) Selezionare il progetto
Fase 3) Seleziona il tuo targetStep
Passo 4) Selezionare Corporatura PhasesStep
Passo 5) Spostare file che non vogliamo che il compilatore elabori dalle origini di compilazione alle risorse del pacchetto di copia

Controllare questo


3

Se ricevi questo avviso dal tuo cocoapod, devi accertarti che s.source_filessia impostato correttamente in .podspec.

Ad esempio, inizialmente ho incluso tutti i file con questa riga nel mio .podspec

s.source_files = "MyUIElements/**/*"

Stavo ricevendo questo avviso di compilazione per alcuni file di font che avevo nel pod. Puoi controllare quali file compaiono in BuildPhases-> CompileSourcessul consumo dei pod in questo modo:

s.source_files = "MyUIElements/**/*.swift", "MyUIElements/**/*.h"

1
o s.source_files = "Sources**/*.{h,m,swift}"?
hstdt,

0

I miei file header problema era't perché sotto Target> Build Phases> Compile Resourcesnon ci fossero .h filesper cominciare. Il sistema si lamentava di alcuni altri file. Ho seguito questo link che sostanzialmente diceva cancellare i file di cui si lamentava il sistema ma invece ho premuto cntrl + trascinandoli Copy Bundle Resources.

Il modo più semplice per cercare i file è utilizzare il filtro nell'angolo in alto a destra:

inserisci qui la descrizione dell'immagine

Ecco le indicazioni dal link:

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.