77 votes

La commande /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang a échoué avec le code de sortie 1.

J'essaie de faire une application lisant les pdf en utilisant le kit pdf dans Xcode 4.3 mais cela me donne l'erreur suivante

ld: duplicate symbol _OBJC_METACLASS_$_OverlayManager in /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-D0866CFD31A05E68.o and /Users/dt4it/Library/Developer/Xcode/DerivedData/MyPdf4-bmkjglhhvneluqcbwpceiqjvdcmq/Build/Intermediates/MyPdf4.build/Debug-iphonesimulator/MyPdf4.build/Objects-normal/i386/OverlayManager-B31AE7412100AF6D.o for architecture i386
Command /Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1

une aide s'il vous plaît ? ?

2 votes

Avez-vous #import o #include a .m dans l'un de vos fichiers ?

0 votes

0 votes

Il y a des centaines de messages "symbole dupliqué". Qu'avez-vous fait pour enquêter ?

95voto

Spoek Points 1093

Paramètres du projet > Sous "Targets", sélectionnez votre projet > Build Phases > ouvrez "Compile Sources" et "Copy Bundle Resources". Vérifiez si des fichiers sont listés en rouge. Si c'est le cas, supprimez-les. Ensuite, nettoyez et exécutez.

Ça a marché pour moi.

3 votes

Veuillez fournir plus d'informations. Que faire s'il y a des "trucs rouges" ? Ceci n'est pas du tout utile...

2 votes

"Les trucs rouges" impliquent des erreurs. Vous ne pouvez pas les manquer si elles sont là.

2 votes

Les fichiers de couleur rouge peuvent se trouver dans les sources de compilation ou dans les ressources de copie du paquet. J'ai édité la réponse ainsi.

36voto

redux Points 473

Faites un nettoyage. product > clean . La purge et le redémarrage du terminal n'ont pas fonctionné pour moi, le nettoyage oui.

3 votes

"Produit > Nettoyer" n'a pas fonctionné pour moi, mais "Produit > Nettoyer le dossier de construction..." a fonctionné. (Vous le voyez lorsque vous maintenez la touche Alt enfoncée dans la liste déroulante des produits.

0 votes

Fantastique ! J'ai sauvé ma journée.

14voto

Boeckm Points 1206

J'ai eu cette même erreur et personne ne semble avoir une réponse sur StackOverflow qui fonctionne réellement. Mon problème était lorsque j'ai essayé de copier un projet qui était dans un dépôt d'équipe. Il s'est avéré que, dans le fichier ignorer, tous les fichiers avec l'extension de *.pch ont été ignorés des commits du dépôt. Cela signifie que lorsque j'ai voulu extraire le projet du dépôt, l'élément .pch était manquant, ce qui a provoqué cette erreur.

Heureusement, je disposais encore d'une copie du projet et j'ai pu copier les éléments suivants .pch et j'ai pu compiler sans problème.

J'espère que cela vous aidera ?

5voto

fnc12 Points 191

Allez dans les préférences de la cible, onglet résumé, trouvez "cible de déploiement" et augmentez-la.

2 votes

Où cela se trouve-t-il ? augmentation de quoi à quoi ?

0 votes

@Esq dans le navigateur de projet, sélectionnez votre projet (icône bleue), puis sélectionnez la cible dans la fenêtre principale (options disponibles : projet, cible 1, cible 2, ...). Dans la fenêtre principale, trouvez "Deployment target" et augmentez-le à quelque chose de moderne (8.1 par exemple).

1voto

CodaFi Points 29073

Vous avez accidentellement inclus le fichier .m OverlayManager au lieu du fichier .h à l'intérieur de la classe OverlayManager elle-même ! En fait, le compilateur sait déjà qu'il doit compiler le fichier .m, mais lorsque vous l'importez, il essaie de l'inclure en ligne avec le même fichier source, ce qui génère des symboles en double. Mais votre cas est unique, puisque vous #importez le fichier .m de la classe actuelle ! Il compile récursivement votre classe OverlayManager.

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