или gcc глючет или .....

Привет всем , эт снова я!
где начать тему долго думал и решил всёже здесь.
дело вот в чём.
Программка!

Цитата:
#include
#include
int main()
{
double eckmass,
laenge=15.0,
breite=10.0,
alter_weg=25.0;

eckmass = sqrt(laenge*laenge+breite*breite);
printf("Die neue Weglaenge : %lf m\n",eckmass);

return 0;
}

собираю всё это дело вот так:gcc -o hren hren.c
а gcc мне пишет:

Цитата:
gcc -o wurzel wurzel.c
wurzel.c:14:2: warning: no newline at end of file
/tmp/ccMLfr1o.o: In function `main':
wurzel.c:(.text+0x49): undefined reference to `sqrt'
collect2: ld returned 1 exit status

версия gcc

Цитата:
gcc (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)

кто может объяснить почему он ругается матом (эт я про gcc)???

#include <stdio.h> #include

#include
#include
как-то странно ты пишешь...
#include
#include

зделал как вы

зделал как вы предложили

Цитата:
wurzel.c:1:17: stdio: No such file or directory
wurzel.c:2:16: math: No such file or directory

Написание .h в

Написание .h в конце - старый стиль, без - новый стиль. Последнее предпочтительнее. Надо компилятору откруто передать, какие библиотеки и инклюды использовать. Делается опциями -L -I и ключами --что-то.

ребят, вообщем

ребят, вообщем тема не о этом старый, новый, мне ктонибуть может сказать почему он не хочет ето собирать.
я пробовал sqrt(845); -> это собирает, но как только там появляется переменая, то всё пиши пропало!

может эта функция была както переписана?

Собирать надо

man sqrt
Собирать надо так:
gcc -o wurzel wurzel.c -lm
_________________
Прежде чем задать вопрос, подумай, а не додумались до него раньше?
From Siberia with Love!

пасибо

пасибо большое.
если не трудно можеш объяснить что делают эти ключи -lm

man sqrt

man sqrt :).
Подключает библиотеку math и ее функции (в числе которых и sqrt)
_________________
Прежде чем задать вопрос, подумай, а не додумались до него раньше?
From Siberia with Love!

так я же их

так я же их через #include подключил.
к томуже если делать sqrt(456) то всё нормально но если зделать sqrt(переменая) ишод сами знаете!

ман sqrt прочёл, там и вправду стоит -лм. хммм,,, не понемаю почему.

.h файл

.h файл предоставляет компилятору информацию о том, что такая-то функция , с такими-то аргументами ГДЕ-ТО есть, а где, ищет сборщик на этапе компоновки, ключ -l.... поключает это-самое ГДЕ-ТО и компоновщик может разрешить все ссылки

спасибо за

спасибо за доступное объяснение

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".