help: probleme de fonction .h en C

help: probleme de fonction .h en C - C - Programmation

Marsh Posté le 23-12-2004 à 11:43:17    

Juste un p'tit probleme que je parviens pas à résoudre en C  
 
Dans mon mail, j'inclus ma fonction .h conprenant la déclaration d'une fonction ouv_fichier.c . Dans le main, je fais appelle à cette fonction, et lors de la compilation, il me marque: [Linker error] undefined reference to `ouv_fichier(_iobuf)'  
 
Je comprend pas vraiment, il me semble avoir tout faire pour que cette fonction soit incluse?
 
 
merci

Reply

Marsh Posté le 23-12-2004 à 11:43:17   

Reply

Marsh Posté le 23-12-2004 à 11:49:22    

La fonction doit être déclarée dans le .h, implémentée dans le .c, compilée dans un .o et ce .o filé en ligne de commande lors de la compialtino du main.c.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 23-12-2004 à 12:00:37    

Je n'utilise pas gcc, mais dev-c++. J'ai pensé à la déclarer dans .h.
 
Mais si je vire le .h et la déclare dans le main, il n'en veut toujours pas.

Reply

Marsh Posté le 23-12-2004 à 12:08:33    

En faite, ça veut dire quoi iobuf?
On peut faire passer un pointeur sur fichier en parametre de fonction?

Reply

Marsh Posté le 23-12-2004 à 13:04:23    

blaise_laporte a écrit :

Juste un p'tit probleme que je parviens pas à résoudre en C  
 
Dans mon mail, j'inclus ma fonction .h conprenant la déclaration d'une fonction ouv_fichier.c . Dans le main, je fais appelle à cette fonction, et lors de la compilation, il me marque: [Linker error] undefined reference to `ouv_fichier(_iobuf)'  
 
Je comprend pas vraiment, il me semble avoir tout faire pour que cette fonction soit incluse?
 
 
merci


Inclure l'interface (.h), c'est bien, mais le compilateur (linker, en fait) ne va pas deviner où se trouve l'implémentation, puisqu'en C (contrairement à Ada ou Turbo Pascal), interface (.h) et implémentation (.c) sont dans des fichiers séparés.
 
Il faut donc ajouter l'implémentation au projet, et le linker (éditeur de lien) fera la colle qui va bien.
 
http://mapage.noos.fr/emdel/notes.htm#bibliotheque
http://mapage.noos.fr/emdel/codage [...] ser_source
http://mapage.noos.fr/emdel/codage.htm#organiser
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed