Gcc : undefined reference to 'exp' malgré -lm
Résolu
chapodrou
Messages postés
4
Statut
Membre
-
chapodrou Messages postés 4 Statut Membre -
chapodrou Messages postés 4 Statut Membre -
Bonjour,
Je travail sous linux et j'essaye de compiler le code suivant :
Le fichier codegen_declaration ne contient que des déclarations de variables. Les deux autres fichier codegen_a_andreev_approx et codegen_b_andreev_approx ne contiennent que des opérations standards ainsi que des appels à la fonction exp. Je compile en utilisant la commande gcc -lm. Le compilateur me renvoie des erreurs du type :
Ces fonctions sont pourtant définies dans les bibliothèques math.h et complex.h et j'utilise bien l'option -lm pour faire le lien lors de la compilation. Je ne comprend donc pas d'où vient le problème.
Quelqu'un a une idée pour régler ce problème ?
Je travail sous linux et j'essaye de compiler le code suivant :
#include<stdlib.h> #include<stdio.h> #include<math.h> #include<complex.h> // Variables globales #include"codegen_declaration" double kF, ke, kh, l, H1, H2; double complex u0a, v0a, u0b, v0b; double calcul_A() { double A; #include"codegen_a_andreev_approx" A=cabs(t24); A=A*A; return A; } double calcul_B() { double B; #include"codegen_b_andreev_approx" B=cabs(t82); B=B*B; return B; } int main() { return 0; }
Le fichier codegen_declaration ne contient que des déclarations de variables. Les deux autres fichier codegen_a_andreev_approx et codegen_b_andreev_approx ne contiennent que des opérations standards ainsi que des appels à la fonction exp. Je compile en utilisant la commande gcc -lm. Le compilateur me renvoie des erreurs du type :
I-phi_Andreev_approx.c:(.text+0x83c5): undefined reference to 'exp' I-phi_Andreev_approx.c:(.text+0x52155): undefined reference to 'cabs'
Ces fonctions sont pourtant définies dans les bibliothèques math.h et complex.h et j'utilise bien l'option -lm pour faire le lien lors de la compilation. Je ne comprend donc pas d'où vient le problème.
Quelqu'un a une idée pour régler ce problème ?