ayuda gcc

Daniel Serpell daniel_serpell en yahoo.com
Jue Oct 7 17:45:43 CLT 2004


Hola!

El Thu, Oct 07, 2004 at 05:25:17PM -0700, Roberto Leiva M escribio:
> 
> el problema es que no es un unico archivo ( lo que coloque es solo un 
> ejemplo ),
> la aplicacion real tiene muchas librerias y/o archivos .o

Bueno, mal ejemplo entonces, no corresponde a lo que quieres!

> 
> gcc correo.c -g -o correo -I$HB_INC_INSTALL -L$HB_LIB_INSTALL coordina.o
> $lib/cconv.o $menu/menu_acc.o $lib/ext.o $menu/rut_gral.o $menu/menu_tab.o
> $menu/menu_rut.o $menu/menu_rep.o $menu/menu_gen.o $MEDDIR/noautlog.o 
> $MEDDIR/medntx.a
> $MEDDIR/cmnnet32.a        /// etc etc  ...
> 
> esta aplicacion la necesito como una app primaria ( se ejecuta por si 
> misma), y ademas necesito enlazarla a otras aplicaciones ( como modulo ), 
> por eso necesito el .o
> 

Un archivo ".o" (object file, supongo que puede traducirse como
un archivo `objeto'), corresponde a una sola unidad de compilación
(en tu caso, el resultado de compilar un solo ".c"). No puedes
juntar varios.

Por eso tu error:

> si trato de crear 1ero el .o me reclama diciendo que no es posible con 
> multiples archivos.

Parece que lo que quieres entonces no es generar un ".o", sino una
biblioteca estática, que no es más que un conjunto de archivos ".o"
pegados, formando un archivo cuya extención en UNIX suele ser ".a".

Mira el comando "ar".

        Daniel.



Más información sobre la lista de distribución Linux