Связывание math.lib с использованием -lm работает по-другому в gcc 4.6.3.
Он используется для работы gcc -lm file.c, но в gcc 4.6.3 это gcc file.c -lm.
В чем причина этого изменения? Или это ошибка?
Спасибо
Это часть кода.
float i = 100;
printf("%f", sqrt(i));
return 0;
Я выполнил вот так
gcc -lm мат.с
/tmp/ccPxTEjS.o: В функции `main':
mat.c:(.text+0x2c): неопределенная ссылка на `sqrt'
collect2: ld вернул 1 статус выхода
Операционная система: Ubuntu 12.04
gcc
в Linux требуют, чтобы библиотеки шли после исходного кода. И это всегда было верно для Linux и других Unix. Он не изменился за десятки лет. 05.11.2012