Comment creer librairie partagée .so linux

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

4 réponses

  1. 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
    1. 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
      1. Dans ton Makefile, tu sépares tous tes fichiers .o par des backslashes \
        ex: toto.o \
        titi.o \
        tutu.o

        voilà.
        0
    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