56 votes

symboles en double pour l'architecture i386 clang

J'ai vu plusieurs posts sur google et stackoverflow liés à cette erreur, j'ai lu tous d'entre eux, mais encore aller chercher le problème , je serai heureux pour trouver une solution. Voici le mesage d'erreur, j'obtiens lors de la compilation ...

répertoire introuvable pour l'option '-L/Utilisateurs/mondossier/Documents/Bharat/MyApp copier/GoogleAdMobAdsSDK' dupliquer le symbole _OBJC_CLASS_$_AppDelegate: /Users/madept/Library/Developer/Xcode/DerivedData/Alpha-dvvymdlmzseytagllsmbbrxdgutz/Build/Intermediates/Alpha.build/Debug-iphonesimulator/Alpha.build/Objects-normal/i386/AppDelegate-56890B6B994A4284.o

Merci.

234voto

Richard Smith Points 2396

Une autre raison pour laquelle cette erreur se produit souvent est l'importation accidentelle du fichier .m à la place du fichier .h.

57voto

Desparado_ Points 375

Pas:

  1. Vérifiez les phases de construction dans les paramètres de cible.
  2. Vérifiez si un fichier existe deux fois ou une fois.
  3. Si le fichier existe deux fois, supprimez-en un. Si ce n'est pas supprimer le fichier dans le bas qui est le dernier.
  4. Construire à nouveau.

25voto

KyleT Points 151

Juste pour ajouter aux solutions possibles.

Dans mon cas, j'avais accidentellement déclaré et initialisé une variable dans un fichier d'en-tête.

Par exemple, c'est faux:

Monfichier.h

 #import <Foundation/Foundation.h>

NSInteger const ABCMyConstant = 6;
 

CA devrait etre:

Monfichier.h

 #import <Foundation/Foundation.h>

NSInteger const ABCMyConstant;
 

MonFichier.m

 #import "MyFile.h"

NSInteger const ABCMyConstant = 6;
 

11voto

reza23 Points 472

J'ai constaté que je recevais l'erreur lorsque j'ai eu un const déclaré dans un fichier .m portant le même nom qu'un autre const dans un autre fichier .m. Les deux fichiers incluaient le même fichier parent.

8voto

jimmyb Points 236

Je viens de vivre cela après avoir recréé une classe de modèle pour Core Data. L'option de menu permettant de créer des classes d'objets a créé une classe de modèle en double. une fois que j'ai enlevé la dupe, l'erreur est partie ...

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