Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problema math.h su linux
Forum - C/C++ - problema math.h su linux

Avatar
eddiewrc (Member)
Expert


Messaggi: 560
Iscritto: 30/04/2006

Segnala al moderatore
Postato alle 22:23
Giovedì, 01/01/2009
perchè compilando un programma che include math.h e che utilizza funzioni matematiche (come round, ceil, sqrt, log, cos, sin...) sotto linux i compilatori non riconoscono queste funzioni? come posso risolvere il problema? mi sembra molto strano, anche perchè sono comunemente citati in tutti i manuali di programmazione in *nix!!

grazie e scusate la linux-ignoranza


La conoscenza non ha mai fatto del male a nessuno. Caso mai hanno fatto del male quelli che hanno impiegato MALE la loro conoscenza. La conoscenza deve essere libera e quando dico libera intendo "free as freedom" e non "free as a free beer".
PM Quote
Avatar
pierotofy (Admin)
Guru^2


Messaggi: 6108
Iscritto: 04/12/2003

Segnala al moderatore
Postato alle 2:50
Venerdì, 02/01/2009
1. Posta il sorgente completo o almeno l'intestazione e una parte del main
2. Dicci quali errori da il compilatore

Così a naso azzarderei che non gli va bene il nome; hai provato a mettere cmath invece di math.h ?


Seguimi su Twitter: http://www.twitter.com/pierotofy

Fai quello che ti piace, e fallo bene.
PM Quote
Avatar
iGuLy (Ex-Member)
Pro


Messaggi: 66
Iscritto: 17/05/2007

Segnala al moderatore
Postato alle 13:55
Venerdì, 02/01/2009
Gli hai linkato la libreria? La math.h non fa parte di quelle standard, devi linkargliela quando compili:
Codice sorgente - presumibilmente Plain Text

  1. cc file.c -lm


PM Quote
Avatar
eddiewrc (Member)
Expert


Messaggi: 560
Iscritto: 30/04/2006

Segnala al moderatore
Postato alle 13:54
Sabato, 03/01/2009
se aggiungo -lm funziona... ma xcosa sta "-lm"... non c'è scritto nell'help del gcc! (grazie cmq)


La conoscenza non ha mai fatto del male a nessuno. Caso mai hanno fatto del male quelli che hanno impiegato MALE la loro conoscenza. La conoscenza deve essere libera e quando dico libera intendo "free as freedom" e non "free as a free beer".
PM Quote
Avatar
iGuLy (Ex-Member)
Pro


Messaggi: 66
Iscritto: 17/05/2007

Segnala al moderatore
Postato alle 19:17
Sabato, 03/01/2009
Testo quotato

Postato originariamente da eddiewrc:

se aggiungo -lm funziona... ma xcosa sta "-lm"... non c'è scritto nell'help del gcc! (grazie cmq)


"-l" serve a linkare una libreria, e tu metti "-lm" perchè sarebbe "-l" per il link e 'm' per la math.

PM Quote
Avatar
eddiewrc (Member)
Expert


Messaggi: 560
Iscritto: 30/04/2006

Segnala al moderatore
Postato alle 1:21
Domenica, 04/01/2009
grazie ancora!


La conoscenza non ha mai fatto del male a nessuno. Caso mai hanno fatto del male quelli che hanno impiegato MALE la loro conoscenza. La conoscenza deve essere libera e quando dico libera intendo "free as freedom" e non "free as a free beer".
PM Quote