[C] [linker error] undefined reference to ...

undefined reference to ... [C] [linker error] - C - Programmation

Marsh Posté le 11-04-2005 à 16:05:10    

Bonjour à tous,
voilà je suis sous dev c++ version 4.9.9.2 Xp pro et j'ai ce genre de message.
Sachant qu'à la base je suis plus physicien qu'informaticien, j'aimerais savoir si quelqu'un peut tester des fichiers que j'ai téléchargés et que je n'arrive pas à faire fonctionner.
On peut les trouver à l'adresse suivante : http://atol.ucsd.edu/%7Epflatau/scatlib/index.htm  
télécharger le fichier bhmie-c.zip.
5 fichiers :
bhmie.c
complex.c
complex.h
nrutil.c
nrutil.h
Le problème vient de complex.h : le compilateur ne reconnait aucune des fonctions définies.
Merci de ne pas me conseiller linux ou de m'envoyer chier, c'est très important et je ne peux pas me concentrer que sur l'aspect C de mon travail.
Cordialement.

Reply

Marsh Posté le 11-04-2005 à 16:05:10   

Reply

Marsh Posté le 11-04-2005 à 16:14:59    

Aucun problème chez moi (bon il manque un #include <stdio.h> mais ça n’empêche pas de compiler)
 
PS : As-tu bien ajouté tous les fichiers au projet ?
Sinon tu devrais essayer d'être plus précis sur l'erreur que tu as.


Message édité par Tarabiscote le 11-04-2005 à 16:20:15
Reply

Marsh Posté le 11-04-2005 à 16:22:07    

Salut,
Desole de ne pas pouvoir repondre specifiquement pour dev c++ car je ne l ai jamais utilise et il n est pas installe sur mon PC. J ai telecharger le code en question sur mon ordi et je l ai compile avec visual C++. Tu as effectivement un probleme si tu compile seulement bhmie.c tout seul car il ne connait pas certaine fonction.
Ce qu il faut que tu fasses c est que tu compile d abord complex.c et nrutil.c pour creer les fichier objet correspondant et ensuite tu compiles bhmie.c et fait les liens entre tout les fichier pour creer l executable.
Comme je disais je ne sais pas comment ca se passe sous dev c++, mais sous visual c++ tu peux faire ca en creant un projet contenant la fonction bhmie.c ensuite tu ajoutes les fichier complex.c et nrutils.c a ce projet. Tu fait un "compile" de ces 2 fichier .c et un "compile all" du fichier bhmie.c.
Je ne suis pas sur de ce que ton programme est sense donne comme resultat, mais j ai reussi a le compiler et le lance en faisant ce que je viens de t expliquer.
 
Bonne journee

Reply

Marsh Posté le 12-04-2005 à 10:48:55    

bonjour,
merci pour vos réponses.
Là où j'ai du me planter c'est que je n'ai pas compilé ni complex.c ni nrutil.c, je pensais que l'appel à complex.h et nrutil.h renvoyait implicitement au fichiers correspondant en .c.
Belle bourde.
En tout cas ça marche, merci à Tarabiscote et à niemad.
A++

Reply

Marsh Posté le 12-04-2005 à 12:11:18    

toniok3 a écrit :

Là où j'ai du me planter c'est que je n'ai pas compilé ni complex.c ni nrutil.c, je pensais que l'appel à complex.h et nrutil.h renvoyait implicitement au fichiers correspondant en .c.


Non, pas du tout. En C, contrairement à d'autres langages, il faut être explicite.
 


---------------
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