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
|