Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: 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
#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);
}
-
Podivej se, zda math.h z tveho prekladace funkci sqrt() definuje...
http://answers.yahoo.com/question/index?qid=20100929234907AANBIm8
-
Typicky tenhle problem zpusobuje, ze nemas prilinkovanou matematickou knihovnu. V gcc pomaha pouziti parametru -lm
-
Ah, koukam, ze ty tam ten parametr vlastne mas, jsem slepy... V tom pripade bych zkusil preinstalovat standardni knihovnu
-
Zkus gcc odmocnina.c -lm
-
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šíš.
-
OP má Ubuntu, proto mu to nefunguje.
https://lists.ubuntu.com/archives/ubuntu-devel-announce/2010-November/000783.html