Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Warchangel 20. 04. 2012, 17:46:49

Název: V C nefunguje funkce sqrt()
Přispěvatel: Warchangel 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);
}
Název: Re:sqrt()
Přispěvatel: v2kt0r 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
Název: Re:V C nefunguje funkce sqrt()
Přispěvatel: Nobodeh 21. 04. 2012, 01:06:27
Typicky tenhle problem zpusobuje, ze nemas prilinkovanou matematickou knihovnu. V gcc pomaha pouziti parametru -lm
Název: Re:V C nefunguje funkce sqrt()
Přispěvatel: Nobodeh 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
Název: Re:V C nefunguje funkce sqrt()
Přispěvatel: whata 21. 04. 2012, 07:45:31
Zkus gcc odmocnina.c -lm
Název: Re:V C nefunguje funkce sqrt()
Přispěvatel: Josef Pavlik 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šíš.
Název: Re:V C nefunguje funkce sqrt()
Přispěvatel: Mordae 21. 04. 2012, 11:38:07
OP má Ubuntu, proto mu to nefunguje.

https://lists.ubuntu.com/archives/ubuntu-devel-announce/2010-November/000783.html