J'essaie de compiler un code pour les commutateurs de pare-chocs dans mon robot et j'obtiens cette erreur: "Erreur - symbole 'tr' a plusieurs définitions." Qu'est-ce que ça veut dire? Je suis douloureusement nouveau à ceci ..."Erreur - symbole 'tr' a plusieurs définitions."
Répondre
Cela dépend si vous voyez l'erreur au moment de la compilation ou de la liaison.
Si vous le voyez à l'heure du lien (lors de la construction du programme à partir de fichiers d'objets), cela signifie que vous avez deux ou plusieurs fichiers d'objet, et la variable « tr » (ou la fonction « tr ») est défini plusieurs fois dans différents fichiers.
Si vous le voyez au moment de la compilation (pour un seul fichier converti en un fichier objet), vous avez défini la variable ou la fonction plusieurs fois dans le fichier source donné.
Dans votre code, vous pourriez avoir plus d'une définition pour la variable tr
. par exemple.
int tr = 0;
et dans une autre partie du même code ou le fichier
int tr = 0;
faire une recherche pour tr
dans votre code pour voir si étant défini plusieurs fois.
* "si elle est déclarée plusieurs fois" * - plusieurs déclarations sont correctes, plusieurs définitions sont (la plupart du temps) non. –
@George - Point pris. Avoir mis à jour le poste. –
Peut-être que votre fichier d'en-tête (dans lequel vous pourriez avoir déclaré tr
) est inclus dans les mêmes plusieurs fois de fichiers .c
.
Une solution simple est d'utiliser Include Guards.
Pour que ce soit un problème, l'en-tête doit définir la variable, pas simplement la déclarer - et les en-têtes devraient "jamais" (ce qui signifie "très, très rarement") définir des variables. –
- 1. Plusieurs définitions de Split
- 2. '<methodname>' a plusieurs définitions avec des signatures identiques erreur
- 3. Comment sauvegarder les définitions [] associées à un symbole dans Mathematica sans enregistrer les définitions subsidiaires?
- 4. Erreur: symbole en double
- 5. plusieurs définitions de la même classe
- 6. Plusieurs définitions de ma classe de modèles
- 7. erreur de syntaxe; Symbole inattendu:
- 8. symbole gtk erreur de recherche
- 9. erreur lien symbole externe non résolu
- 10. Erreur Java: impossible de trouver le symbole?
- 11. Erreur de référence de symbole UNIX
- 12. Symbole externe non résolu? erreur lnk2019
- 13. erreur avec rasade: non défini symbole: _ZN7hosters11hostersLink7getLinkEi
- 14. Erreur de référence de symbole C++
- 15. Ruby Tmail erreur: undefined symbole: rb_get_kcode
- 16. erreur LNK2001: symbole externe non résolu _CLSID_XYS
- 17. C++ Extern/Définitions multiples
- 18. multiples déclarations et définitions
- 19. Définitions multiples étranges d'erreur
- 20. JPA/Hibernate: @PersistenceContext unitName a plusieurs correspondances erreur
- 21. Obtention de définitions de chaînes pour accepter plusieurs lignes?
- 22. erreur Linker 'symbole externe non résolu': travailler avec des modèles
- 23. définitions Java: Étiquette, Jeton
- 24. comment ignorer les définitions (VS2008)
- 25. Erreur de lien: symbole manquant mais symbole exporté (dans exp et lib)
- 26. problème applicationContext-service.xml définitions
- 27. Documentation Xcode 3.2, définitions de symboles manquantes comme CGPoint?
- 28. Erreur étrange ld à propos du symbole en double
- 29. relocalisation R_X86_64_32 contre une erreur de symbole local
- 30. Définitions de type conditionnel
Est-ce que 'tr' est défini dans un fichier .h inclus dans plusieurs fichiers .c? –
Voir [Règle de définition unique] (http://en.wikipedia.org/wiki/One_Definition_Rule). –