Je viens de mettre à jour la version Xcode 4.6.2 (4H10003) et j'ai essayé d'exécuter un projet d'application fonctionnant précédemment dans le simulateur et j'ai reçu l'erreur suivante et la construction a échoué.
Fichier PCH construit à partir d'une branche différente ((clang-425.0.27)) que le compilateur ((clang-425.0.28))
Qu'est-ce qui a mal tourné et comment le réparer?
Faites un nettoyage du projet; maintenez Option pour nettoyer tout le dossier de construction et les intermédiaires. Vous devrez peut-être quitter Xcode et jeter à la main tout le contenu du dossier DerivedData dans le Finder, comme je le décris ici: Comment vider les caches et nettoyer toutes les cibles Xcode 4
Accédez au Build Settings
De votre projet, recherchez un paramètre nommé Precompiled Headers Cache Path
, Puis supprimez ce dossier
Effectuez un nettoyage à l'aide de command+shift+k
et réexécutez le projet existant.
De Notes de version XCode 4.6.2
Problèmes connus
Bâtiment
Lors de la construction d'un produit précédemment construit avec Xcode 4.6.1 ou une version antérieure, la construction échoue avec une erreur similaire à celle-ci:
Fichier PCH construit à partir d'une branche différente ((clang-425.0.27)) que le compilateur ((clang-425.0.28))
Pour résoudre ce problème, choisissez Produit> Nettoyer avant de créer votre produit. 13663167
Produit performant> Travaux propres
J'ai essayé tout ce qui précède et cela fonctionne très bien depuis l'interface utilisateur de Xcode, mais cela échouait toujours pour moi lorsque j'ai exécuté xcodebuild à partir de ligne de commande.
Cela était dû aux dépendances d'autres bibliothèques et de leurs en-têtes de pré-compilation. Lors de l'exécution à partir de la ligne de commande, ressemble à xcodebuild stocker/lit les en-têtes précompilés à partir d'ici:
/var/folders/v0/ztxy9kls7sv05dpmvjgg_xwr0000gn/C/com.Apple.Xcode.501/SharedPrecompiledHeaders
Après avoir nettoyé ce dossier, xcodebuild a réussi.
Surtout si vous générez à partir de la ligne de commande ou si vous avez un script de génération, le nettoyage de la cible xcode n'est pas suffisant. Vous devez supprimer ce dossier.
L'emplacement exact de l'en-tête précompilé peut être trouvé dans le projet, une partie du chemin du dossier est aléatoire (je suppose), en particulier après /var/folders/xx..xxx/C.
Target -> build settings => "Build locations" -> Precompiled headers cached path
Exécutez Terminal et allez dans ce dossier et supprimez (utilisez la commande),
#rm -fr SharedPrecompiledHeaders
J'ai dû supprimer manuellement ~/Library/Developer/Xcode/DerivedData/
Clean n'a pas fonctionné pour moi.
utilisez "command + shift + k" pour nettoyer votre projet, alors tout ira bien.
Nettoyez votre projet et exécutez
Produit-> Nettoyer puis exécuter.