Dupliquer le symbole d'erreur dans Xcode
Je rencontre des 'dupliquer le symbole' erreurs dans Xcode 4.5.1 quand j'essaie de construire un projet après l'ajout de mon propre cadre de référence. J'ai vérifié les fichiers du framework pour les doublons, et il n'en existe aucune. Mais quand j'ajoute le cadre d'un projet, il se plaint avec ces erreurs. S'il vous plaît suggérer..
duplicate symbol _NXArgc in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW
duplicate symbol _NXArgv in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW
duplicate symbol ___progname in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW
duplicate symbol _environ in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW
duplicate symbol start in:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.3.1.o
/Users/idcc/Test/MyFW/Products/MyTestFW.framework/MyTestFW
ld: 8 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Merci d'avance..
J'ai le même problème, cependant il fonctionne lorsque je démarre sur mon iPhone. Donc, je n'ai que ce problème dans mon simulateur...
Même ici, que sur le simulateur...
J'ai ce problème spécifique. Vous cherchez une réponse, posté le bounty.
Avez-vous des variables déclarées dans le .m à l'échelle de plusieurs fichiers avec le même nom? Je vois maintenant qu'il est de vous donner les noms de variable sont dupliqués: _NXArgc, démarrer, _environ, _progname, _NXArgv
ces variables sont toutes de la norme bibliothèques... Réponse travaillé de la houle.
Même ici, que sur le simulateur...
J'ai ce problème spécifique. Vous cherchez une réponse, posté le bounty.
Avez-vous des variables déclarées dans le .m à l'échelle de plusieurs fichiers avec le même nom? Je vois maintenant qu'il est de vous donner les noms de variable sont dupliqués: _NXArgc, démarrer, _environ, _progname, _NXArgv
ces variables sont toutes de la norme bibliothèques... Réponse travaillé de la houle.
OriginalL'auteur user591410 | 2013-01-16
Vous devez vous connecter pour publier un commentaire.
Ces symboles sont dans le tube cathodique.o, le code de démarrage de la bibliothèque standard C. Normalement, il devrait être le point d'entrée de fichier exécutable pour initialiser les variables globales et les objets. Il sera également appeler votre fonction principale.
Mais pour un cadre, vous ne devez pas inclure dans vos binaires parce que le cadre ne devrait pas avoir de main.
Je crois que vous avez un "Lien avec la Bibliothèque Standard" option "OUI" dans votre cadre de cible du paramètre de construction. Ce sera un lien crt.o dans votre cadre. Et lorsque vous liez le cadre d'un projet, il sera dupliqué symboles.
Veuillez régler l'option "Lier avec la Bibliothèque Standard" à PAS dans votre paramètre de construction.
Lorsque j'ai mis en Lien avec la Bibliothèque Standard à pas dans les paramètres de construction, j'ai eu 177 erreurs du compilateur au lieu de 1
OriginalL'auteur
J'ai eu le même problème avec l'aide de deux tiers cadre. Je résolus que par la suppression de "all_load" à partir "d'Autres Drapeaux de l'éditeur de liens" dans les paramètres de construction.
OriginalL'auteur farhad hossain
Votre application a fourni une mise en œuvre dans lequel il y a 8 duplication des symboles.
Il y a un certain nombre de façons dont vous pourriez avoir fait ceci:
Vous avez deux modules de déclarer la même classe. Peut-être l'un n'est plus nécessaire?
Vous êtes l'importation de tout fichier d'en-tête dans les deux fichiers .m et .h 🙁 Supprimer à partir d'un seul endroit.)
Vous êtes l'importation de tout .m fichier quelque part. :- (Importation .h fichier au lieu de .m fichier)
Vous avez défini et déclaré const variable en extérieur(ci-dessus) @interface{} dans tout de .h dossier, il pourrait être dupliqué. :- (Il ne dans le .m fichier.)
OriginalL'auteur Developer
Aussi vérifier si mondial des variables comme des constantes sont définies correctement dans
.h
fichier dans l'application.La bonne manière de définir une variable globale est d'utiliser
extern
variable dans.h
fichier.Remarque :Ce n'est pas un problème avec la précédente Xcode version. J'ai rencontré le problème avec Xcode 6.3 et il a été résolu.
OriginalL'auteur Vinod Supnekar
Si vous avez ce problème uniquement lorsque vous exécutez l'application dans le simulateur, il obtient résolu en supprimant le dossier local
Xcode restaurer après la première compilation et de l'exécution.
ASSUREZ-VOUS de sauvegarder TOUS les PARAMÈTRES avant de le faire (notamment ceux liés à l'simulateur de périphériques).
Testé sur Xcode Version 7.2.1 (7C1002)
OriginalL'auteur Edoardo