55 votes

Xcode, symbole en double _main

J'ai le symbole dupliqué _main.

Le problème, c’est qu’il est indiqué "Symbole dupliqué _main dans /Users/.../i386/main-B9843B6026D6EFA4.o et /Users/.../i386/main-B9843B6026D6EFA4.o", XXX et XXX sont en fait identiques. o fichier. Je ne sais pas pourquoi il pense que c'est un symbole en double alors que c'est le même .o?!

Toute aide appréciée, merci.

89voto

huggie Points 2470

Ah..je comprends que j'ai plusieurs entrées sous Cibles / Sources compilées. Je les ai supprimés et le problème est résolu. L'entrée multiple a probablement à voir avec la fusion Git.

23voto

dvkch Points 485

Il est apparu que dans mon cas, j'importais un fichier .m au lieu de son équivalent .h. Résolu par l'édition

 #import "Tools.m"
 

dans

 #import "Tools.h"
 

16voto

Stefan Points 126

J'ai également eu ce problème et il a été causé par le code que j'ai importé à partir d'un autre projet. J'ai fait un grep pour "int main" dans le répertoire de mon projet:

 grep -nr "int main" .
 

et trouvé

 ./main.m:13:int main(int argc, char *argv[])
./IMPORTED_DIR/main.m:13:int main(int argc, char *argv[])
 

le IMPORTED_DIR contenait le main.m supplémentaire qui causait l'erreur pour moi

J'ai supprimé ce fichier du projet -> Cibles -> phases de construction -> compilation de la liste des sources, puis compilé

3voto

Kas1a Points 31

J'ai eu le même problème en ouvrant un projet, créé avec Xcode 4.0.2, avec Xcode 4.1. J'ai simplement résolu en cliquant sur "Modernize Project" (Editor / Modernize Project). Cette procédure a automatiquement supprimé tous les doublons.

2voto

altosh Points 198

Si le problème persiste, essayez de rechercher comme ceci: "int main ("), et supprimez ces fichiers, sauf main.m

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