Crear Bibliotecas y archivos .a para ligar los programas...
Olivier Nenert
onenert en condumex.com.mx
Mie Feb 23 09:18:12 CST 2000
>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, envíelo a: ayuda-help en linux.org.mx
Más información sobre la lista de distribución Ayuda