[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

RE: Crear Bibliotecas y archivos .a para ligar los programas...



>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



[Hilos de Discusión] [Fecha] [Tema] [Autor]