3
Мне нужно использовать журналы в программе для назначения. Я запустил эту тестовую программу на своей машине, чтобы увидеть, как работает функция журнала (и если она будет), и я получаю следующую ошибку во время сборки.Почему я получаю эту ошибку при попытке использовать журнал из math.h в C?
Код
/* log example */
#include <stdio.h> /* printf */
#include <math.h> /* log */
int main()
{
double param, result;
param = 5.5;
result = log (param);
printf ("log(%f) = %f\n", param, result);
return 0;
}
ОШИБКА
gcc -Wall -o "test" "test.c" (in directory: /home/linux/Development/codetest)
/tmp/ccCDqX7x.o: In function `main':
test.c:(.text+0x1b): undefined reference to `log'
collect2: ld returned 1 exit status
Compilation failed.
Ссылка
Это C99 код, схватил из этого tutorial сайта.
Я всегда считал это немного странным, что gcc не просто втягивает в math lib по умолчанию. –
Древняя традиция, частично относящаяся к тому, что не все процессоры имеют встроенную арифметику с плавающей запятой, поэтому вам может понадобиться эмуляция программного обеспечения и т. Д. FWIW: в Mac OS X (10.8.4, но и более ранних версиях) вам не нужно '-lm', чтобы связать код примера. –