Problème d'inclusion de fichier.h

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

5 réponses

loupius Messages postés 789 Statut Membre 148
 
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:
#ifndef NOMDUFICHIER_H
#define NOMDUFICHIER_H
  ... corps du fichier
#endif
Bonne continuation.
1
loupius Messages postés 789 Statut Membre 148
 
Tu peux toujours lire cet excellent article: multi définition (CCM).
0
mou7a Messages postés 32 Statut Membre 4
 
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
0
mou7a Messages postés 32 Statut Membre 4
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mou7a Messages postés 32 Statut Membre 4
 
Souci résolu et tout fonctionne normalement. Merci infiniment pour la réponse :)
Pour le deuxième problème c'était dû au dev cpp c'est résolu maintenant
0