avertissement de compilation: aucune règle pour traiter le fichier pour l'architecture i386


245

Comment puis-je résoudre cet avertissement?

[WARN] avertissement: pas de règle pour traiter le fichier '$ (PROJECT_DIR) /MyApp/MessageCell.h' de type sourcecode.objj.h pour l'architecture i386


Il indique également qu'il essaie de compiler vos fichiers d'en-tête en tant que sourcecode.objj.h à partir d'Objective-J (qui utilise également des fichiers .h pour les en-têtes), avez-vous installé Cappuccino?
themarketka

Réponses:


576

Cliquez sur votre projet et vérifiez que ce fichier n'est pas présent dans l'onglet Build Phases. Normalement, aucun fichier d'en-tête ne doit rester ici. Nettoyez-le et reconstruisez-le, cela devrait fonctionner!


1
j'ai quelques fichiers d'en-têtes là-dedans. Juste curieux, pourquoi les en-têtes ne devraient-ils pas être là?
Sheehan Alam

30
Parce que c'est la liste des fichiers sources qui seront compilés, et normalement vous avez déjà inclus <file> .h dans votre <file> .m
Giuseppe

1
Chaque fois que je crée une nouvelle classe, mon XCode ajoute automatiquement les fichiers d'en-tête à mes phases de construction. Je ne sais pas pourquoi, quelqu'un sait pourquoi cela se produit? Actuellement, chaque fois que je crée une nouvelle classe, je dois supprimer manuellement les fichiers d'en-tête des phases de construction.
Bocaxica

1
Je pourrais ajouter qu'un fichier .h peut apparaître dans les phases de construction (quand il n'est pas censé le faire) parce que le fichier .m a (par erreur) un nom différent.
Ali

cela serait parfaitement logique ... J'avais créé le fichier à l'origine en tant que .cpp, puis je l'ai renommé en .h
ddavison


17

Nous pouvons résoudre ce problème en suivant simplement les étapes ci - dessous: - Certains .md, les .mdown .hfichiers sont inclus dans le Compile Sources
Étape 1) Sélectionnez Navigateur de projet
Étape 2) Sélectionnez votre projet
Étape 3) Sélectionnez votre targetStep
Étape 4) Sélectionnez Construire PhasesStep
Étape 5) Déplacer fichiers que nous ne voulons pas que le compilateur traite à partir des sources de compilation pour copier les ressources du bundle

Vérifie ça


3

Si vous recevez cet avertissement de votre cocoapod, vous devez vous assurer que le s.source_filesest correctement réglé dans le .podspec.

Par exemple, j’ai initialement inclus tous les fichiers avec cette ligne dans mon .podspec

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

J'obtenais cet avertissement de compilation pour certains fichiers de police que j'avais dans le pod. Vous contrôlez les fichiers qui apparaissent dans BuildPhases-> CompileSourcessur la consommation des pods comme ceci:

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

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

0

Mon problème des fichiers d' en- tête was't parce que sous Target> Build Phases> Compile Resourcesil n'y avait pas .h filespour commencer. Le système se plaignait de certains autres fichiers. J'ai suivi ce lien qui disait essentiellement supprimer les fichiers dont le système se plaignait, mais à la place, je les ai cntrl + glissés Copy Bundle Resources.

La façon la plus simple de rechercher les fichiers est d'utiliser le filtre dans le coin supérieur droit:

entrez la description de l'image ici

Voici les instructions du lien:

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.