Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Warchangel 03 Září 2011, 01:19:38
-
cawte programujem vo vyvojovom prostredí Netbeans, ale narazil som na problem pri kompilacii tohto programu:
#include <stdio.h>
#include <math.h>
typedef double (*p_fd)();
p_fd odmocnina(void)
{return (sqrt);}
int main(void)
{ double d=odmocnina()(9.00);
printf("%lf\n",d);
return 0;
}
v netbeans mi hned vypise chybove hlasenia:
build/Debug/GNU-Linux-x86/main.o: In function `odmocnina':
/home/jakub/NetBeansProjects/CppApplication_3/main.c:12: undefined reference to `sqrt'
collect2: ld returned 1 exit status
make[2]: Leaving directory `/home/jakub/NetBeansProjects/CppApplication_3'
make[2]: *** [dist/Debug/GNU-Linux-x86/cppapplication_3] Error 1
ale v inych vyvojovych prostrediach (geany, code::blocks) a aj ked to skompilujem manualne v console, to bezproblemov funguje.
Neviete kde je chyba a ako by sa dala odstranit?
Za odpovede vopred dakujem.
-
Musíš si sám přilinkovat matematickou knihovnu, že kompilátoru dáš ješte parametr -lm :)
-
ja viem ze v console musim pouzit -lm, a mna skor zaujima ako to urobit aby mi to fungovalo v netbeans. Pretoze radsej pracujem v nejakom vyvojovom prostredi ako v console, a nerad by som menil NETBEANS za ine IDE, lebo som si nan uz zvykol.
-
File → Project Properties → Build → Linker → Command Line → Additional Options → dopsat "-lm"
-
vdaka, za pomoc