J'ai des problèmes dans le fichier d'en-tête math.h et lorsque j'utilise une fonction de racine carrée comme dans sqrt(d)
. Mais mon compilateur ne supporte pas cela. Veuillez me conseiller sur ce problème.
Ma version Ubuntu est 2012.
Ajoutez -lm
à la fin de votre commande gcc
.
Avec toutes les versions récentes de GCC sur des systèmes GNU/Linux comme Ubuntu, lorsque vous utilisez la bibliothèque mathématique, vous devez établir un lien explicite avec celle-ci. Il n'est pas automatiquement lié à avec le reste de la bibliothèque C standard.
Si vous compilez sur la ligne de commande avec la commande gcc
ou g++
, vous pouvez le faire en en mettant -lm
à la fin de la commande .
Par exemple: gcc -o foo foo.c -lm
Si vous voulez compiler un programme C avec la bibliothèque math.h dans LINUX en utilisant GCC ou G ++, vous devrez utiliser - lm option après la commande de compilation.
gcc xyz.c -o xyz -lm
Ici,
gcc est une commande du compilateur (nom du compilateur)
xyz.c est un nom de fichier source.
- o est une option permettant de spécifier le fichier de sortie.
xyz est le nom du fichier de sortie.
- lm est une option permettant de créer un lien avec la bibliothèque mathématique ( libm ).
pour plus de détails, voici le lien contenant l'article complet à ce sujet.
Compilation du programme C avec math.h sous Linux.