V C nefunguje funkce sqrt()

V C nefunguje funkce sqrt()
« kdy: 20. 04. 2012, 17:46:49 »
mam otazku, preco mi v linuxe nefunguje tento program? Skusal som to spustit v Netbeans, aj rucne skompilovat v terminali, ale stale mi to vyhadzuje chyby. V terminali som zadal: gcc -lm odmocnina.c a ono mi to vypisuje : undefined reference to `sqrt' collect2: ld returned 1 exit status

Kód: [Vybrat]
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int argc, char** argv)
{   double c;
       
    scanf("%lf",&c);
    c=sqrt(c);
    printf("%lf",c);

    return (EXIT_SUCCESS);
}
« Poslední změna: 20. 04. 2012, 21:37:10 od Petr Krčmář »


v2kt0r

Re:sqrt()
« Odpověď #1 kdy: 20. 04. 2012, 17:59:17 »
Podivej se, zda math.h z tveho prekladace funkci sqrt() definuje...
http://answers.yahoo.com/question/index?qid=20100929234907AANBIm8

Nobodeh

Re:V C nefunguje funkce sqrt()
« Odpověď #2 kdy: 21. 04. 2012, 01:06:27 »
Typicky tenhle problem zpusobuje, ze nemas prilinkovanou matematickou knihovnu. V gcc pomaha pouziti parametru -lm

Nobodeh

Re:V C nefunguje funkce sqrt()
« Odpověď #3 kdy: 21. 04. 2012, 01:08:28 »
Ah, koukam, ze ty tam ten parametr vlastne mas, jsem slepy... V tom pripade bych zkusil preinstalovat standardni knihovnu

whata

Re:V C nefunguje funkce sqrt()
« Odpověď #4 kdy: 21. 04. 2012, 07:45:31 »
Zkus gcc odmocnina.c -lm


Re:V C nefunguje funkce sqrt()
« Odpověď #5 kdy: 21. 04. 2012, 09:32:42 »
Mělo by to fungovat. Zkoušel jsem to jak na OSX, tak na Linuxu (Ubuntu 8.04) a na obou to prošlo a funguje.
Takže problém bude někde ve tvé instalaci Linuxu nebo na čem to zkoušíš.

Mordae

Re:V C nefunguje funkce sqrt()
« Odpověď #6 kdy: 21. 04. 2012, 11:38:07 »