Probleme avec les includes multiples... [ Prog C ] - C++ - Programmation
Marsh Posté le 31-10-2002 à 23:09:25
le probleme de link ne vient pas d'header manquant, mais de fichier objet (.o) manquant. Tu compiles tes fichiers a part et tu linke apès, ou tu fais tout en même temps ?
Marsh Posté le 31-10-2002 à 23:12:33
D abord merci pour ta rapidite...
J ai compiler (.o) mes deux fichiers a inclure et ensuite j ai essayé de compiler le fichier du main mais je me prends la meme erreur et quand je fais tout d un coup (je compile et linke mon main et il s occupe du reste) j ai encore la meme erreur.
Ce qui m etonne le plus est qu il sort une erreur sur les fonctions et non sur les typedef de graphe.h...
Voila.
Marsh Posté le 31-10-2002 à 23:17:15
phagor a écrit a écrit : J ai compiler (.o) mes deux fichiers a inclure et ensuite j ai essayé de compiler le fichier du main mais je me prends la meme erreur et quand je fais tout d un coup (je compile et linke mon main et il s occupe du reste) j ai encore la meme erreur. |
Visiblement tu oublies un truc. Le linker ne devine pas quels sont les fichiers a lier, c'est a toi de lui dire.
ex1:
Code :
|
ex2:
Code :
|
phagor a écrit a écrit : Ce qui m etonne le plus est qu il sort une erreur sur les fonctions et non sur les typedef de graphe.h... |
normal, vu que les typedef sont inclus via le .h, donc le fichier objet le connais. Ce qui lui manque c'est l'implémentation des fonctions déclarées.
Marsh Posté le 31-10-2002 à 23:20:19
Bon ben je viens de tester ca marche nickel...
Je savais pas.
Merci beaucoup de ton aide.
Marsh Posté le 31-10-2002 à 22:40:41
Salut tout le monde...
Bon ben voila, mon pb est simple, j'ai des fichiers : mat_adj.h et .c ; graphe.h et .c.
Le fichier mat_adj.h fait appel au fichier graphe.h (#include"graphe.h" )
Jusque la, tout va bien, ca compile, on est content.
Le probleme vient quand je compile mon troisieme fichier (qui est en fait le programme principal).
Je fais un include de mat_adj.h. la quand je compile, il me sort une erreur du type : undefined reference to ... sur toutes les fonctions de graphe.h mais pas sur les typedef et ce non pas a la compilation mais au linkage.
C'est alors que j ai essaye de faire un include de mon fichier graphe.h mais la il me sort une erreur de compil disant que je tente de redefinir des typedef...moralite je vois pas la solution.
J ai essaye les commandes du preproc mais rien n y fait.
Merci de votre aide, j ai franchement plus d idee
Phagor.