Dlaczego pojawia się błąd „niezdefiniowane odwołanie do sqrt”, mimo że dołączam nagłówek math.h? [duplikować

To pytanie ma już odpowiedź tutaj:

nieokreślone odniesienie do sqrt (lub innych funkcji matematycznych) 4 odpowiedzi

Jestem bardzo nowy w C i mam ten kod:

#include <stdio.h>
#include <math.h>
int main(void)
{
  double x = 0.5;
  double result = sqrt(x);
  printf("The square root of %lf is %lf\n", x, result);
  return 0;
}

Ale kiedy kompiluję to z:

gcc test.c -o test

Występuje taki błąd:

/tmp/cc58XvyX.o: In function `main':
test.c:(.text+0x2f): undefined reference to `sqrt'
collect2: ld returned 1 exit status

Dlaczego to się dzieje? Jestsqrt() nie wmath.h plik nagłówkowy? Otrzymuję ten sam błąd zcosh i inne funkcje trygonometryczne. Czemu

questionAnswers(6)

yourAnswerToTheQuestion