Comment creer librairie partagée .so linux

Fermé
yanis_00 - 28 oct. 2005 à 20:30
 hassiba - 20 mai 2008 à 15:11
Salut tout le monde,

Ma question c comment creer une librairie partagé sous linux sachant que une tel librairie a une extension .so
je veux rendre cette librarie dynamique.
Je sais crée une telle lib pour un seul fichier .c
gcc -fPIC -c toto.c
gcc -shared -Wl,-soname,libtoto.so.1 -o libtoto.so.1.0 toto.o
cp -f libtoto.so.1.0 /usr/local/lib
ln -sf libtoto.so.1.0 /usr/local/lib/libtoto.so.1
ln -sf /usr/local/lib/libtoto.so.1 /usr/local/lib/libtoto.so


ici il y a une creation d une librairie pour un seul fichier toto.c comment faire si on a plusieurs fichiers .c
Merci à tout le monde.
Salut
A voir également:

4 réponses

crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
28 oct. 2005 à 21:54
Salut,
Sur la ligne suivante, tu peux passer plusieurs .o
gcc -shared -Wl,-soname,libtoto.so.1 -o libtoto.so.1.0 toto.o titi.o ...

A+, crabs
7
Bonjour a tous,
j'en profite pour continuer la conversation:
comment a l'interieur du Makefile on peut donner en argument la liste de tous les .o neccessaire a la libraire, qui sont l'ensemble des .o du repertoire courant
en gros je cherche a faire:

gcc -shared -Wl,-soname,libtoto.so *.o
4
Dans ton Makefile, tu sépares tous tes fichiers .o par des backslashes \
ex: toto.o \
titi.o \
tutu.o

voilà.
0
merci crabs
2
j'ai installé informix online sur redhat entreprise 4 , a l'initialisation d'informix il me donne un message
canot open libaio.so.1 (shared library)

je ne sais pas doit il s'agit et comment regler le probleme
-5