web-dev-qa-db-fra.com

Comment compiler un programme en C qui utilise math.h?

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.

12
shreya

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

20
Eliah Kagan

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.

2
Mike