Страницы

Поиск по вопросам

воскресенье, 12 мая 2019 г.

gcc линковщик выдаёт undefined reference to 'sin'

Компилирую следующий код:
#include #include #include
double f(double x) { return sin(x); }
int main(int argc, char** argv) { return 0; }
Вылезает ошибка линковщика:
/tmp/ccWto7Ot.o: In function f': temp.c:(.text+0x13): undefined reference tosin' collect2: ld returned 1 exit status
Никак не могу понять где я накосячил. Перебрал весь код, приведённый пример является минимальным для воспроизведения ошибки. Компилирую без опций, т.е. просто
gcc test.c


Ответ

Компилирую без опций, т.е. просто
$ gcc test.c
а надо как минимум подключить библиотеку libm.so, для чего следует указать опцию -lm
$ gcc -lm test.c
или, например, так:
$ make test CFLAGS=-lm

Комментариев нет:

Отправить комментарий