J'essaie d'apprendre à créer des bibliothèques statiques et dynamiques, et j'ai un peu de mal à comprendre mon professeur en ce qui concerne les bibliothèques. Mon idée pour créer une bibliothèque dynamique est la suivante :
gcc -c main.c -o main.o
gcc -c -fPIC func.c -o func.o
gcc -shared -Wl,-soname,-libfunc.so.1 -o libfunc.so.1.0.1 func.o
ldconfig -n .
ln -sf libfunc.so.1.0.1 libfunc.so
gcc main.o libfunc.so.1.0.1 -o prog1
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
Maintenant, mon professeur dit que l'avant-dernière ligne doit ressembler à ceci :
gcc main.o -o prog1 -L. -lfunc
Quelqu'un peut-il m'expliquer la différence exacte entre les deux ? Merci de votre compréhension.