Problème d'inclusion de fichier.h
mou7a
Messages postés
32
Statut
Membre
-
mou7a Messages postés 32 Statut Membre -
mou7a Messages postés 32 Statut Membre -
Bonjour,
Je travaille sur un projet en C et j'ai un petit souci.
Il faut que je mette chaque fonction dans un fichier .c et je travaille avec des structures. J'ai défini la structure en question dans un fichier . h que j'inclus dans chque fichier .c et là le programme ne compile pas avec l'erreur suivante:13 \Desktop\SSSSSS\extractionFichier.h conflicting declaration 'typedef struct ville ville' alors qu'elle n'est déclarée une fois.
Merci pour votre aide
Je travaille sur un projet en C et j'ai un petit souci.
Il faut que je mette chaque fonction dans un fichier .c et je travaille avec des structures. J'ai défini la structure en question dans un fichier . h que j'inclus dans chque fichier .c et là le programme ne compile pas avec l'erreur suivante:13 \Desktop\SSSSSS\extractionFichier.h conflicting declaration 'typedef struct ville ville' alors qu'elle n'est déclarée une fois.
Merci pour votre aide
5 réponses
Cela vient du fait que lors de la compilation, ton fichier 'Fichier.h' est appellé et inclus plusieurs fois et donc la structure est déclarée plusieurs fois, ce que le compilateur n'apprécie pas car il ne sait pas quelle déclaration il lui faut prendre (même si les déclarations sont identiques, il ne sait pas).
Pour éviter cela on encadre chaque fichier '.h' par un système de verrou qui ne permettra qu'une seule inclusion:
Pour éviter cela on encadre chaque fichier '.h' par un système de verrou qui ne permettra qu'une seule inclusion:
#ifndef NOMDUFICHIER_H #define NOMDUFICHIER_H ... corps du fichier #endifBonne continuation.
Merci pour ta réponse
C'est ce que j'ai fait depuis le début mais même de cette manière ça ne fonctionne pas. Il ne fait pas la déclaration et résultat la structure n'est pas reconnue au niveau des autres fonctions qui font appel au fichier .h en question
C'est ce que j'ai fait depuis le début mais même de cette manière ça ne fonctionne pas. Il ne fait pas la déclaration et résultat la structure n'est pas reconnue au niveau des autres fonctions qui font appel au fichier .h en question
Maintenant je n'ai plus le message concernant la redéfinition de la structure mais un message de ce genre: [Linker error] undefined reference to `choixPopulation(int, int*)'
Apparemment c'est par rapport aux liens entre les fichiers.h et les fichiers.c dois je comprendre que le souci avec la redéfinition est résolu????
Merci pour votre aide précieuse
Apparemment c'est par rapport aux liens entre les fichiers.h et les fichiers.c dois je comprendre que le souci avec la redéfinition est résolu????
Merci pour votre aide précieuse
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question