Δημοσιεύτηκε: 05 Ιουν 2011, 13:19
από evolgen
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. :problem:

Μήπως αν δοκίμαζες και
Κώδικας: Επιλογή όλων
gcc -lm calc.c -o calc


Λοιπόν, το κατέβασα και το μεταγλώττισα. Τρία ήταν τα προβλήματα:
- getch -> getchar
- #include <math.h>
- gcc -lm

Μετά από αυτά, η μεταγλώττιση έγινε κανονικά. :)
Γενικά, όταν χρησιμοποιείς μαθηματικά και το math.h, σχεδόν πάντα βάζε το "-lm". Από τη σχολή το ξέρω και νομίζω προσθέτει δυνατότητα για μαθηματικά ή κάτι τέτοιο.