Δημοσιεύτηκε: 05 Ιουν 2011, 13:19
evolgen έγραψε:Qdata έγραψε:UnKnown96 έγραψε:Για κάποιο λόγο στο Linux δεν δέχετε τις εντολές pow sqrt και getch δοκίμασε κάτω από το #include <stdio.h> να βάλεις και αυτό : #include <math.h>
και πες μου αν δουλεύει.
edit: και αντικατέστησε το getch(); με getchar();
Τώρα μου βγάζει:
- Κώδικας: Επιλογή όλων
$ gcc calc.c -o calc
/tmp/ccUJ2S1N.o: In function `main':
calc.c:(.text+0x288): undefined reference to `pow'
calc.c:(.text+0x2e2): undefined reference to `sqrt'
collect2: ld returned 1 exit status
Οπότε δεν δέχεται τις εντολές pow και sqrt.
Μήπως αν δοκίμαζες και
- Κώδικας: Επιλογή όλων
gcc -lm calc.c -o calc
Λοιπόν, το κατέβασα και το μεταγλώττισα. Τρία ήταν τα προβλήματα:
- getch -> getchar
- #include <math.h>
- gcc -lm
Μετά από αυτά, η μεταγλώττιση έγινε κανονικά.
Γενικά, όταν χρησιμοποιείς μαθηματικά και το math.h, σχεδόν πάντα βάζε το "-lm". Από τη σχολή το ξέρω και νομίζω προσθέτει δυνατότητα για μαθηματικά ή κάτι τέτοιο.