73 votes

XCode 4.1 erreur fatale: stdlib modifié depuis l'en-tête précompilé a été construit

La construction d'une application iPhone, à l'aide de:

XCode 4.1

Base SDK iOS 4.3

Apple LLVM Compilateur 2.1

J'ai commencé à avoir l'erreur suivante:

fatale erreur: fichier '/Développeur/plates-formes/iPhoneOS.de plate-forme/Développeur/usr/bin/../lib/clang/2.1/include/stdint.h' a été modifié depuis l'en-tête précompilé a été construit

J'ai essayé de réinstaller XCode et OS X, pas de chance. Quelqu'un sait quelle est la cause?

152voto

logancautrell Points 7508

Essayez d'abord une construction propre via le Produit -> Nettoyer le menu (comme de XCode 4.6.2).

Si cela ne fonctionne toujours pas alors ouvrir l'Organisateur (dans le menu, sélectionnez Fenêtre>Organisateur). Une fois que l'Organisateur est ouvert, sélectionner les Projets à partir de la barre d'outils en haut de la fenêtre. Sur la gauche est une liste de projets, sélectionnez celui que vous rencontrez un problème avec.

Le panneau détails (à droite de la liste) affiche le nom du projet, localisation, statut. La ligne en dessous qui indique où les Données Dérivées est situé. Cliquez sur le bouton Supprimer... l'extrême-droite. Une boîte de dialogue apparaît, cliquez sur Supprimer.

Vous pouvez également supprimer manuellement les Données Dérivées:

~/Library/Developer/Xcode/DerivedData/{project name + gobly-gook}

Ce répertoire contient construit produits et les index pour le projet. C'est OK pour le supprimer, car il ne contient que les éléments générés par Xcode. Xcode va régénérer tout la prochaine fois que le projet est ouvert.

76voto

Darwin Smith II Points 761

J'ai été en mesure de le réparer en un moyen beaucoup plus facile, par le simple choix de Produits > Propre, puis Produit > Construire à partir de Xcode barre de menu.

37voto

Ants Points 840

La suppression de la DerivedData dossier n'a pas fonctionné pour moi lors de l'Archivage.

J'ai dû regarder des Paramètres de construction - Construire des Lieux - d'en-Tête Précompilé Chemin du Cache et de supprimer ce dossier.

Pour moi, c'était:

/var/folders/_w/t0mj70hd1439tqgxff7_mtt00000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders

16voto

charles Points 1337

J'ai pensé que je voudrais ajouter une réponse distincte plutôt que d'un commentaire à Cryptognome de réponse, parce qu'elle est en fait une solution différente lorsque le problème provient de l'exécution xcodebuild. Comme Cryptognome, j'ai eu l'erreur de venir avec l'outil de ligne de commande xcodebuild. Comme une alternative à l'manuellement en allant dans l' /var sous-dossiers, j'ai trouvé que je pouvais mettre mon propre cache pour le partage de la PCH, vous pouvez le faire en définissant la variable d'environnement SHARED_PRECOMPS_DIR, e.g comme suit

xcodebuild -target Foo -configuration Release SHARED_PRECOMPS_DIR=/tmp/foo/SharedPCH

De cette façon, je n'ai jamais eu l'erreur en automatique s'appuie.

Remarque dans la commande ci-dessus, je voudrais aussi généralement le OBJROOT et SYMROOT env var à construire aussi dans /tmp. À la fin, j'ai nettoyer les choses.

4voto

Cryptognome Points 195

Le xcodebuild outil de ligne de commande échoue parfois avec cette erreur. Ce qui m'est arrivé lorsque j'ai connecté un svn espace de travail à une version antérieure. Le xcodebuild outil conserve ses en-têtes précompilés dans le dossier des Fourmis mentionné:

/var/folders/... scrambled eggs .../-Caches-/com.apple.Xcode.503/SharedPrecompiledHeaders/

Vous devez regarder dans la commande de construction de lui-même pour voir le véritable nom de dossier (-include /var/...), mais il peut être à l'aide de plusieurs, si vous êtes en train de construire les différentes architectures (arm6, arm7, simulateur, par exemple), Donc si vous rencontrez ce problème avec une ligne de commande à construire, il suffit de supprimer tout dans /var/.../SharedPrecompiledHeaders.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X