linux user group brescia

immagine del castello

Archivio della mailing list

ld

Bauno bauno a inwind.it
Lun 19 Maggio 2003 11:18:43 UTC
On Monday 19 May 2003 10:10, Vernia Damiano wrote:

> > > 	Domanda: perche' serve quel -lc? Una volta non era "automatico"?
> >
> > Non mi risulta lo sia mai stato...:-?
>
> 	Beh, era automatico se fatto direttamente con gcc ... :-|

Grazie...

>
> 	Lo farei anche, ma come mi sogno quali sono le librerie da
> includere? Io pensavo servisse solo la libc, visto che quando compilo
> "normalmente" e poi ci faccio un ldd mi dice solo libc e ld.linux.so.

Ci dovrebbe essere un elf-howto da qualche parte, mi sembra di averlo
letto un (bel) po' di tempo fa. Un metodo + empirico è chiamare gcc con
l'opzione -v; con il programmino monoriga che avevi mandato:

bauno a bauniga src $ gcc -v -Wall -o prova pippo.c
Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/specs

[...]

 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/collect2 --eh-frame-hdr -m elf_i386 
-dynamic-linker /lib/ld-linux.so.2 -o prova 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../../crt1.o 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../../crti.o 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/crtbegin.o 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../../../i686-pc-linux-gnu/lib 
-L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../.. /tmp/ccghzOP6.o -lgcc 
-lgcc_eh -lc -lgcc -lgcc_eh /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/crtend.o 
/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/../../../crtn.o

collect2 è un sinomino di ld. E quella sopra è la riga di comando
generata da gcc x il link corretto del tuo programma, che puoi usare x
linkarlo manualmente. Come vedi avevi trascurato "qualche strana
libreria" :)


> Evidentemente mi sbagliavo.

Non essere così duro con te stesso :-P


-- 
Bauno - Eurydices, oro, properata retexite fata!
"Build a fire for a man, and he'll be warm for a day.
Set a man on fire, and he'll be warm for the rest of his life." (T. Pratchett)





Maggiori informazioni sulla lista Lug