Comment compiler un programme avec une librairie dynamique ?

Comment compiler un programme avec une librairie dynamique ? - Linux et OS Alternatifs

Marsh Posté le 27-09-2001 à 19:10:13    

Bon voilà, pour un de mes lab à l'école je dois faire un makefile. J'ai dans le même répertoire une librairie dynamique (libstatistiq.so.1.0) et le fichier prog.c
Je dois créer le programme prog à partir de prog.c et libstatistiq.so.1.0.
 
C'est quoi la ligne de commande à passer à gcc pour que ça compile.  
Merci !


---------------
Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone.
Reply

Marsh Posté le 27-09-2001 à 19:10:13   

Reply

Marsh Posté le 27-09-2001 à 19:34:35    

gcc -lstatistiq prog.c -o prog
 
Manquerait un lien que ca m'etonnerait pas...
vers .so.1.O <- .so

Reply

Marsh Posté le 27-09-2001 à 19:58:08    

Voilà mon énoncé au complet, ce sera plus clair comme ça.

Citation :

Les fichiers moyenne.c et ecarttype.c (qui utilisent le fichier statistiq.h) constituent les deux premiers modules d'une librairie dynamiquelibstatique.so.1 (qui dans sa première version sera libstatistiq.so.1.0). Le fichier statexemple.c permet de tester les fonctionnalités de la librairie.
- Écrire le makefile qui permet de créer l'exécutable statexemple et la librairie dynamique libstatistiq.so.1. Ces deux composantes doivent contenir les information de débogage.


 
Sur ce, le fichier makefile que j'ai créé ressemble à ça :
 
statexemple : statexemple.o  
 gcc -o statexemple statexemple.o -L./ -llibstatistiq.so.1
 
statexemple.o : statexemple.c statistiq.h
 gcc -g -c -o statexemple.o statexemple.c
 
libstatistiq.so.1 : moyenne.o ecarttype.o
 gcc -g -shared -Wl,-soname,libstatistiq.so.1 -o libstatistiq.so.1 moyenne.o ecarttype.o
 
moyenne.o : moyenne.c statistiq.h
 gcc -g -fPIC -c -o moyenne.o moyenne.c
 
ecarttype.0 : ecarttype.c statistiq.h
 gcc -g -fPIC -c -o ecarttype.o ecarttype.c

 
Vous pouvez m'aider ?


---------------
Je suis un franco-canado-québécois d'origine française de l'Amérique du nord francophone.
Reply

Marsh Posté le 27-09-2001 à 23:24:20    

au risque de jouer mes chieurs, ton makefile, il lui manque des trucs :
 
CC = gcc
DEBUG = -g
statexemple : statexemple.o  
$(CC) -o statexemple statexemple.o -L./ -llibstatistiq.so.1
 
statexemple.o : statexemple.c statistiq.h
$(CC) $(DEBUG) -c -o statexemple.o statexemple.c
 
libstatistiq.so.1 : moyenne.o ecarttype.o
$(CC) $(DEBUG) -shared -Wl,-soname,libstatistiq.so.1 -o libstatistiq.so.1 moyenne.o ecarttype.o
 
moyenne.o : moyenne.c statistiq.h
$(CC) $(DEBUG) --fPIC -c -o moyenne.o moyenne.c
 
ecarttype.0 : ecarttype.c statistiq.h
$(CC) $(DEBUG) -fPIC -c -o ecarttype.o ecarttype.c
 
clean:
        rm -f *.o core *.so* *.bak *~
 
... plus les section install, uninstall et consors...


---------------
-- NO SLACKERS - violators will be fsck'd & tar'd
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed