Problème de Compilation sous gcc

Résolu
prohackertop Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
prohackertop Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour!

Je n'arrive pas à compiler un petit programme sous gcc car il me dit que la fonction mathématique racine carrée (sqrt (x)) à l'intérieur du main() n'est pas définie alors que j'ai bien inclu:
#include <math.h> au début de mon code, juste après #include <stdio.h>.

Je suis allé fouiller un petit peu dans le répertoire des en-têtes /include et surprise, il y a bien un <math.h> la dedans!!

Si vous êtes sous Mandriva 2006, sauver sous format .c et essayez svp de compiler avec gcc le programme suivant, juste pour voir:

#include <stdio.h>
#include <math.h>
int main(void)
{
float x;
float racx;

printf ("\nEntrer votre nombre svp!\n\n");
scanf("%f", &x);
{
racx = sqrt(x);
printf ("\nLe nombre %f a pour racine carree : %f\n", x, racx);
}
return 0;
}

Merci et bonne continuation à tous!

ProhackertOP

2 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

c'est bon math.h
essaie comme ça
gcc -o program program.c -lm
--
lami20j
4
prohackertop Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour lami20j!

Ca marche maintenant! C'est formidable!

Que c'est bon d'avoir des amis, même si on ne se voit pas et se connaît pas du tout!

Merci beaucoup et que Dieu vous bénisse.

Vive la communauté des internautes sur commentcamarche.net!

Prohackertop
0
helpman68 Messages postés 209 Date d'inscription   Statut Membre Dernière intervention   165
 
bonjour,
tu n'utilises pas la bonne biblio pour sqrt
il faut aussi ajouter
#include <cmath>

tiens moi au courant
0
prohackertop Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Helpman68!

#include <math.h> est toujours la bonne biblio.

Ca ne marche toujours pas avec <cmath>!

Mais je crois que c'est la manière dont j'ai compilé mon programme et qui a causé l'erreur:

gcc progr.c -o progr

J'ai oublié l'appel de l'éditeur de lien -lm:

La compilation correcte est donc: gcc -o progr.c progr -lm
0