Question

J'ai un projet Objectif C dans XCode. Lors de la construction, XCode precompiles mon préfixe fichier PCH deux fois. La première fois, il utilise les arguments -x objective-c-header, et il fonctionne très bien. La deuxième fois, il utilise -x c-header, et elle échoue (en raison du fichier contenant le code Objective C).

J'ai un autre projet qui est mis en place le même, mais il se construit bien. (Le PCH n'est précompilée une fois, avec objectif C.) Je comparais les paramètres de construction pour les deux projets côte à côte, et rien ne diffèrent pertinent. Je comparais les paramètres de construction pour le côté par côté des cibles, et encore une fois, aucune différence significative.

J'ai essayé de nettoyer toutes les cibles et la reconstruction, mais pas de chance. J'ai essayé de redémarrer XCode, mais pas de chance. Je mon dossier rassemblés de projet pour c-header, mais il ne montrais dans les journaux de construction.

Qu'est-ce que pourrait être la cause?

Était-ce utile?

La solution 2

Je déteste répondre à ma propre question, mais je compris. J'ai désactivé précompilant l'en-tête de préfixe pour voir si cela me permettrait continuer à travailler. La construction reste a échoué avec la même erreur, mais il a échoué quand y compris le fichier à partir d'un fichier .c j'oublié que j'avais dans le projet. Apparemment, l'existence de ce fichier .c est la différence entre ce projet et l'autre. Maintenant que je sais ce qui se passe, je me suis déplacé mon code à l'intérieur du #ifdef __OBJC__, et tout semble bien.

Autres conseils

Le fichier PCH est en cours de reconstruction à plusieurs reprises parce qu'il ya plusieurs langues dans votre projet; une fois avec le compilateur Objective-C et une fois avec le fichier droite C, ainsi que vous aviez du code Objective-C en dehors de la objc #ifdef et qui a causé le compilateur droite C pour hoark jusqu'à ce son déjeuner.

Si vous avez un fichier C ++, vous finiriez probablement avec 3 compilations de PCH (IIRC - un moment que je déconné avec cela).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top