[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]>Hola lista !!!! >Tengo una pregunta si quiero crear un archivo .so (una biblioteca) es sencillo no ?? si... >namas le das al compilar: >gcc -shared -o libalgo.so algo.c gcc algo.c -shared -soname,algo.so.$(VERSION) -o algo.so.$(VERSION) (si :)) >Pero se necesitan de unos archivos con terminacion .a no algo asi como libalgo.a para ligar >con el programa informacion para que al ejecutar el programa solicita al ld-linux las bibliotecas >que requiere, creo estos archivos se hacen con el programa ar, lei la pagina del manual pero >francamente no le entendi mucho alguien sabe cual es el proceso completo para hacer todo >esto ??? ahi te va un Makefile que genera una lib asi.. ---------------------------------------------------------------------------- -- # Make variables CC = /usr/bin/gcc CFLAGS = -I/usr/lib/gnome-libs/include -I/usr/lib/glib/include -I/usr/include/gdk `gtk-config --cflags` -g LDFLAGS = `gnome-config --cflags --libs gnomeui` SHELL = /bin/bash AR = /usr/bin/ar cfiles = $(wildcard *.c) objfiles = $(patsubst %c, %o, $(cfiles)) # Generate dependencies automatically %.d: %.c $(SHELL) -ec '$(CC) -M $(CFLAGS) $< \ | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \ [ -s $@ ] || rm -f $@' # Now includes dependencies... include $(cfiles:.c=.d) # Rules all: libcxwidgets.a libcxwidgets.a: $(objfiles) $(AR) rcs libcxwidgets.a $(objfiles) # <--- ahi esta lo que buscas :) clean: cleanobj cleandep /bin/rm -f *.a cleanobj: /bin/rm -f *.o cleandep: /bin/rm -f *.d ---------------------------------------------------------------------------- -- saludos.. Olivier -- Para desuscribirse, mande correo a: ayuda-unsubscribe en linux org mx Para comandos adicionales, envmelo a: ayuda-help en linux org mx