Problème de Compilation sous gcc

Résolu
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
Configuration: Linux
Firefox 2.0.0.5

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    c'est bon math.h
    essaie comme ça
    gcc -o program program.c -lm
    --
    lami20j
    1. 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
  2. bonjour,
    tu n'utilises pas la bonne biblio pour sqrt
    il faut aussi ajouter
    #include <cmath>

    tiens moi au courant
    1. 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