RyyS Napisano Październik 23, 2004 Zgłoszenie Share Napisano Październik 23, 2004 stawiam pierwsze kroki w c, a anjucie tym bardziej pisze program w ktorym musze uzyc sqrt(). na poczatku programu dopisuje #include <math.h>, kompilacja przechodzi bez problemu ale gdy biore build dostaje cos takiego: Budowanie pliku: 4kat.c ... gcc "4kat.c" -o "4kat" /tmp/ccv5gNWa.o(.text+0x1b5): In function `main': : undefined reference to `sqrt' collect2: ld returned 1 exit status Completed ... unsuccessful Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
mynus Napisano Październik 23, 2004 Zgłoszenie Share Napisano Październik 23, 2004 math.h nie jest standardowo biblioteka musisz dolaczyc ja recznie podczas kompilacji: gcc "4kat.c" -o -lm "4kat" (opcja lm dolacza biblioteke math, a np: -lncurses biblioteke ncurses) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
RyyS Napisano Październik 23, 2004 Autor Zgłoszenie Share Napisano Październik 23, 2004 hmm, srednio mi to pomoglo. bo podczas kompilacji on nie zglasza zadnych bledow. w dodatku jesli wstawie np 2 argumenty do sqrt() wspomni, ze za duzo. ale gdy biore build to juz mogila - nie dziala, pomimo, ze wpisalem -lm jak radziles... qrcze no. moze zaproponujecie jakies inne srodowisko bo z tym ciezko w tym momencie pracowac :/ Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
mynus Napisano Październik 23, 2004 Zgłoszenie Share Napisano Październik 23, 2004 podczas kompilacji on nie zglasza zadnych bledow. bo nie ma, , lm dolaczylo biblioteke z ktorej korzystasz wiec wszystko jest wporzadku dodatku jesli wstawie np 2 argumenty do sqrt() wspomni, ze za duzo. z tego: #include <math.h> double sqrt(double x); ??? sorki, ale jaki drugi argument? sqrt moze miec tylko jeden argument ---- skoro stawiasz pierwsze rkoki, to moze masz jakis blad w skladni? długi to program? co on ma robić? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
RyyS Napisano Październik 25, 2004 Autor Zgłoszenie Share Napisano Październik 25, 2004 no wreszcie mi sie udalo. co dziwnego okazuje sie, ze wystarczylo zmienic plik na zrodlo c++ czyli na rozszerzenie .cc. jakies pomysly dlaczego <math.h> nie dzialal do samego c? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
mynus Napisano Październik 25, 2004 Zgłoszenie Share Napisano Październik 25, 2004 wystarczylo zmienic plik na zrodlo c++ czyli na rozszerzenie .cc. c++ ma rozszerzenie cpp i gcc nie kompiluje programow zapisanych w c++ (samo rozszerzenie nie ma wiekszego znaczenia, ale liczy sie struktura pliku, np stosowanie obiektow uzywa sie do tego kompilatora o nazwie c++ jezeli program jest prawidlowo napisany to powinno zadzialac polecenie: gcc -lm 4kat.c -o 4kat Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się