C-undefined reference to `sqrt', proste zadanie
Ostatnio zmodyfikowano 2016-05-10 15:30
miki313 Temat założony przez niniejszego użytkownika |
C-undefined reference to `sqrt', proste zadanie » 2016-05-10 14:29:40 Witam, to mój pierwszy post na forum, mam nadzieję, że da radę rozwiązać problem ;) #include <stdio.h> #include <math.h>
main() { int w; double bok1, bok2, bok3, podstawa, h, pole, polobwodu; printf( "Jezeli chcesz obliczyc pole trojkata za pomoca 3 bokow, kliknij 1\n" ); printf( "Jeżeli chcesz policzyc pole trojkata za pomoca wysokosci oraz podstawy, klinij 2\n" ); scanf( "%d", & w ); if( w == 2 ) { printf( "Podaj dlugosc wysokosci\n" ); scanf( "%lf", & h ); printf( "Podaj dlugosc podstawy\n" ); scanf( "%lf", & podstawa ); pole =( h * podstawa ) / 2; printf( "Pole trojkata = %f ", pole ); } else { printf( "Podaj dlugosc pierwszego boku\n" ); scanf( "%lf", & bok1 ); printf( "Podaj dlugosc drugiego boku\n" ); scanf( "%lf", & bok2 ); printf( "Podaj dlugosc trzeciego boku\n" ); scanf( "%lf", & bok3 ); polobwodu =( bok1 + bok2 + bok3 ) / 2; pole = sqrt( polobwodu *( polobwodu - bok1 ) *( polobwodu - bok2 ) *( polobwodu - bok3 ) ); printf( "Pole trojkata = %f ", pole ); } return 0; }
Program jak widać, jest prosty ( moje początki), jednak nie kompiluje sie prawidłowo. W terminalu /tmp/cc8Swlbf.o: In function `main': poletrojkata.c:(.text+0x182): undefined reference to `sqrt' collect2: error: ld returned 1 exit status
Licżę na pomoc, dzięki ;) |
|
mimotego |
» 2016-05-10 14:57:17 Czy podczas kompilacji odnosisz się do biblioteki matematycznej? Jeśli nie wystarczy podłączyć bibliotekę matematyczną za pomocą "-lm" i powinno działać. |
|
miki313 Temat założony przez niniejszego użytkownika |
» 2016-05-10 15:30:16 Zapomniałem :P dzięki wielkie za szybką odpowiedź, działa :) |
|
« 1 » |