ayuda gcc

Roberto Leiva M rlm en floresinternacional.cl
Vie Oct 8 12:04:26 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".

este comando, al crear la libreria tb realiza los enlaces que poseen los 
archivos entre si?

por ejemplo si yo llamo una funcion y esta funcion realiza una llamada a otro 
procedimiento ( que esta en otro archivo guardado en  la lib ) , ocurre algun 
error ?


Roberto Leiva M.




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