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: