Probleme avec sqrtf
Résolu/Fermé
hoho26
Messages postés
1
Date d'inscription
mercredi 7 décembre 2011
Statut
Membre
Dernière intervention
7 décembre 2011
-
7 déc. 2011 à 22:52
Perla - 13 déc. 2011 à 17:03
Perla - 13 déc. 2011 à 17:03
4 réponses
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
8 déc. 2011 à 03:28
8 déc. 2011 à 03:28
Problème classique !
Il ne suffit pas d'indiquer 'math.h' dans un fichier source car celui-ci n'est qu'un fichier de renseignements destiné au compilateur, il faut aussi indiquer au linker dans quelle bibliothèque se trouvent les fonctions correspondantes.
En général un ajout de '-lm' sur la ligne de commande résoud le problème.
Bonne continuation.
Il ne suffit pas d'indiquer 'math.h' dans un fichier source car celui-ci n'est qu'un fichier de renseignements destiné au compilateur, il faut aussi indiquer au linker dans quelle bibliothèque se trouvent les fonctions correspondantes.
En général un ajout de '-lm' sur la ligne de commande résoud le problème.
Bonne continuation.
13 déc. 2011 à 16:07
Dans mon makefile je fais entre autre:
liste.o : liste.c
gcc ${C_FLAGS} -c liste.c
test_sta : test_sta.o ligne.o liste.o truc.o abr.o station.o
gcc ${C_FLAGS} -lm -o test_sta test_sta.o truc.o ligne.o liste.o abr.o station.o
Sachant que l'appel à sqrt est dans liste.c
Où est donc l'erreur?
13 déc. 2011 à 16:21
Il faut écrire à chaque ligne de commande qui dépend de liste.o -lm A LA FIN de la ligne de commande!
test_sta : test_sta.o ligne.o liste.o truc.o abr.o station.o
gcc ${C_FLAGS} -o test_sta test_sta.o truc.o ligne.o liste.o abr.o station.o -lm
:)