Ошибка компоновщика C с gcc и math.h
Я получаю сообщение об ошибке pythagorean.so: undefined symbol: cos
, Я собираю с math.h
, stdlib.h
, а также stdio.h
библиотеки и -lm
переключатель. Вот фрагмент кода:
static bool
law_of_cosine_run(esh_command* cmd)
{
if (strcmp(cmd->argv[0], "lawofcosine") == 0) {
printf("The length of the third side is: %f\n",
law_of_cosine(strtol(cmd->argv[1], NULL, 10),
strtol(cmd->argv[2], NULL, 10), strtol(cmd->argv[3], NULL, 10)));
return true;
}
return false;
}
static double
law_of_cosine(double x, double y, double z)
{
return sqrt((x * x) + (y * y) - (2 * x * y * cos(z)));
}
Кто-нибудь знает, почему это произойдет? pythagorean.c - мой файл.c
Спасибо
1 ответ
Когда вы компилируете его, убедитесь, что вы набрали
gcc *.c -lm