Mam problemy z plikiem nagłówkowym math.h i kiedy używam funkcji pierwiastka kwadratowego jak w sqrt(d)
. Ale mój kompilator tego nie obsługuje. Proszę o poinformowanie mnie o tym problemie.
Moja wersja Ubuntu to 2012.
gcc
w Ubuntu .
Mam problemy z plikiem nagłówkowym math.h i kiedy używam funkcji pierwiastka kwadratowego jak w sqrt(d)
. Ale mój kompilator tego nie obsługuje. Proszę o poinformowanie mnie o tym problemie.
Moja wersja Ubuntu to 2012.
gcc
w Ubuntu .
Odpowiedzi:
Dołącz -lm
na końcu gcc
polecenia.
We wszystkich najnowszych wersjach GCC na systemach GNU / Linux, takich jak Ubuntu, kiedy korzystasz z biblioteki matematycznej, musisz jawnie do niej linkować. Nie jest automatycznie łączony z resztą standardowej biblioteki C.
Jeśli kompilujesz się w wierszu poleceń za pomocą polecenia gcc
lub g++
, możesz to zrobić, umieszczając -lm
na końcu polecenia .
Na przykład: gcc -o foo foo.c -lm
Jeśli zamierzasz skompilować program C z biblioteką math.h w LINUX za pomocą GCC lub G ++, będziesz musiał użyć opcji –lm po komendzie kompilacji.
gcc xyz.c -o xyz -lm
Tutaj,
gcc to polecenie kompilatora (nazwa kompilatora)
xyz.c to nazwa pliku źródłowego.
-o jest opcją określającą plik wyjściowy.
xyz to nazwa pliku wyjściowego.
-lm jest opcją łączenia ponownie biblioteki matematycznej ( libm ).
więcej szczegółów tutaj znajduje się link zawierający pełny artykuł na jego temat.
Kompilowanie programu C z math.h w systemie Linux.