На этот вопрос уже есть ответ здесь:
У меня есть следующий код (урезанный до нуля основы для этого вопроса):
#include
#include
double f1(double x)
{
double res = sin(x);
return 0;
}
/* The main function */
int main(void)
{
return 0;
}
При компиляции с помощью gcc test.c
я получаю следующую ошибку, и я не могу понять, почему:
/tmp/ccOF5bis.o: In function `f1':
test2.c:(.text+0x13): undefined reference to `sin'
collect2: ld returned 1 exit status
Однако я написал несколько тестовых программ которые вызывают sin
из функции main
, и они отлично работают. Я, должно быть, здесь что-то явно не так, но что это?