Gcc : undefined reference to 'exp' malgré -lm

Résolu/Fermé
chapodrou Messages postés 4 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 23 mai 2012 - Modifié par chapodrou le 22/05/2012 à 17:51
chapodrou Messages postés 4 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 23 mai 2012 - 23 mai 2012 à 11:09
Bonjour,

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 ?

A voir également:

1 réponse

chapodrou Messages postés 4 Date d'inscription mercredi 9 mai 2012 Statut Membre Dernière intervention 23 mai 2012 2
23 mai 2012 à 11:09
C'est passé en inversant le nom du code source et l'option -lm :
gcc code.c -lm
3