Je suis en train d'écrire un programme pour une évaluation uni et ils ont une ligne fixe pour le compiler, donc si ça ne marche pas, ça ne sera pas accepté. Ils commandent qu'ils utilisent est-lm ne fonctionne que si c'est à la fin de la commande
gcc -Wall -ansi -lm program.c -o program.out
Mon programme ne compile pas de cette façon, et ça va me donner une erreur de referance non définie (Se référant à ma log10 en utilisant la bibliothèque math.h) si je l'utilise:
cela fonctionne
Quel pourrait être mon problème? Im utilisant Windows 10 64bit et avoir Windows bash installé et gcc.
Quelle est la version du compliler gcc? –
Ceci est cohérent avec la façon dont GCC, au moins, s'est toujours comporté pour moi - il ne résoudra que les noms d'une unité de compilation donnée (par exemple le fichier objet créé depuis 'program.c') en adresses dans une unité de compilation ultérieure (comme' libm.a', ou serait-ce 'm.lib' sur Windows?). Je suis donc surpris que votre université s'attend à ce que la compilation fonctionne avec '-lm' avant le fichier source. –
Im utilisant gcc 5.4.0! Oui, je pense la même chose, mais je ne suis pas sûr de savoir quoi faire .. À moins qu'il y ait un peu de travail pour le faire fonctionner! – Paloking