Prova con

gcc -o <nomebin> <nomesrc> -lm

Al di là della notazione la cosa importante è la libreria lm.

Ciao,  Germano

Il 15:27, giovedì 07 marzo 2002, hai scritto:
> Sto facendo delle prove di compilazione usando gcc.
> Ho un sorgente t.c che è brevemente così:
> -----------------------------------------------------
> /* prova */
>
> #include <math.h>
> #include <stdio.h>
> #include <stdlib.h>
>
> int main(int argc, char *argv[]) {
>       printf( "%f /n", sqrt( 33 ) );
>       return EXIT_SUCCESS;
> }
> ---------------------------------------------------
> compilandolo mi da quest'output:
>
> [tom@localhost My]$ gcc t.c
> /tmp/ccALrAqt.o: In function `main':
> /tmp/ccALrAqt.o(.text+0x14): undefined reference to `sqrt'
> collect2: ld returned 1 exit status
>
> Cosa mi manca per compilarlo?
> Cosa significa esattamente questo messaggio d'errore?
> Devo linkare qualche libreria particolare?
> sqrt() fa parte della libreria ANSI e richiede math.h
> Se gcc non trova da solo le librerie standard, come mai non trovo un
> messaggio di errore anche per printf?
>
> ciao e grazie,
> Tommaso

-------------------------------------------------------

Rispondere a