Почему я получаю ошибку «неопределенная ссылка на sqrt», даже если я включаю заголовок math.h? [Дубликат]

На этот вопрос уже есть ответ:

неопределенная ссылка на sqrt (или другие математические функции) 4 ответа

Я новичок в C и у меня есть этот код:

#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;
}

Но когда я скомпилирую это:

gcc test.c -o test

Я получаю сообщение об ошибке:

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

Почему это происходит? Являетсяsqrt() не вmath.h заголовочный файл? Я получаю ту же ошибку сcosh и другие тригонометрические функции. Зачем

Ответы на вопрос(6)

Ваш ответ на вопрос