/home/Razor/kdeveloop/huh/src/huh.c:42: undefined reference to `sin'
получается что функция синуса sin() не определена в <math.h> хотя документация говорит обратное.
Уважаемые кодеры помогите разобраться в чем собака зарыта вроде все просто.
Спасибо
PS я так понимаю когда я пишу #include <math.h> то подключается файл /usr/include/math.h открыл его в редакторе дак там обявлений упомянутых функций нет вообще.
/home/Razor/kdeveloop/huh/src/huh.c:42: undefined reference to `sin'
получается что функция синуса sin() не определена в <math.h> хотя документация говорит обратное.
Уважаемые кодеры помогите разобраться в чем собака зарыта вроде все просто.
Спасибо
PS я так понимаю когда я пишу #include <math.h> то подключается файл /usr/include/math.h открыл его в редакторе дак там обявлений упомянутых функций нет вообще.
/home/Razor/kdeveloop/huh/src/huh.c:42: undefined reference to `sin'
получается что функция синуса sin() не определена в <math.h> хотя документация говорит обратное.
Уважаемые кодеры помогите разобраться в чем собака зарыта вроде все просто.
Спасибо
PS я так понимаю когда я пишу #include <math.h> то подключается файл /usr/include/math.h открыл его в редакторе дак там обявлений упомянутых функций нет вообще.
Посмотрел. math.h подключает инклудом bits/mathcalls.h, который уже и содержит объявление sin. Объявления функций используются компилятором для проверки типов аргументов и возвращаемого значения.
Но в вашем случае дело не в отсутствии объявления, а в отсутствии самой функции. Как, впрочем, уже было сказано выше.
успехов
The answer, my friend, is blowin' in the wind.
The answer is blowin' in the wind.
Прочел с большим интересом, т.к. никогда в сишных модулях математика не нужна была, и вдруг как всегда срочно, а оно не линкуется, в общем все знают...
Перепробовал в спешке все перечисленное, на моей юбунте катит, если тупо ставить ключ -lm в конце команды вызова, не важно чего - gcc, cc или ld, напр
gcc neuro1.c -lm //получаем a.out
gcc -c neuro1.c // получаем neuro1.o, а затем линкуем его
gcc -o neuro neuro1.o -lm // получаем исполняемый neuro
ЗЫ. Это не спам, а для тех торопыжливых, кому некогда читать все (хотя прочесть - так польза большая будет))))