[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Linkare staticamente un eseguibile



On Sat, 2003-08-02 at 12:23, Nick Name wrote:
> On Sat, 2 Aug 2003 09:37:42 +0200
> Ottavio Campana <ottavio@campana.vi.it> wrote:
> 
> >  gli dici di linkare oltre ai file .o anche le librerie .a che vuoi
> >  mettere staticamente nel programma.
> 
> Ma non funziona affatto!
> 
> ecco un file di prova:
> 
> #include <stdio.h>
> #include <math.h>
> 
> int main()
> {
>   printf("ciao %f\n",sin(0));
>   return 0;
> }
> 
> e ora...
> 
> * gcc -c prova.c
> 
> * gcc /usr/lib/libm.a prova.o -o prova 
>   prova.o: In function `main':
>   prova.o(.text+0x11): undefined reference to `sin'
>   collect2: ld returned 1 exit status
> 
> invece 
> 
> * gcc -lm /usr/lib/libm.a prova.o -o prova 
> 
> funziona ma ovviamente ldd mi ridà la libreria dinamica "libm.so"
> 
> Vincenzo
> 

Che io sappia le librerie statiche *.a devono essere linkate dopo e non
prima del main ...
Infatti 
gcc prova.o -o prova /usr/lib/libm.a

a me funziona.

Ciao
            Stefano



Reply to: