или gcc глючет или .....
djung 4 июня, 2006 - 16:49
Привет всем , эт снова я!
где начать тему долго думал и решил всёже здесь.
дело вот в чём.
Программка!
Цитата:
#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
зделал как вы
зделал как вы предложили
Написание .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.... поключает это-самое ГДЕ-ТО и компоновщик может разрешить все ссылки
спасибо за
спасибо за доступное объяснение