en gros je vais te donner un exemple bien simple tu as ce code:
1 2 3 4 5 6 7 8 9 10 11 12
| #include <math.h>
#include <stdio.h>
int main(void)
{
int a = 4;
int b = 6;
int ok = abs(a-b);
printf("le nombre est toujours positif est c'est %d\n",ok);
return 0;
} |
quand tu fais
tu auras la dite erreur car a la compilation le include dit que la fonction abs est bien dans math.h mais au linking il ne la trouve null part donc tu dois faire ceci:
le lm c'est pour dire la librairies libm.so ou se trouve les fonctions declarer dans math.h, sous linux generalement dans
/usr/libx ou/et /libx avec x = '' ou x='64'
si tu utilises une lib queconque ou que tu as deplacer les libs alors tu dois dire ou se trouve cette lib ex:
gcc main.c -o test -L /home/user/mylibs/ -lm
Partager