Compiler avec une librairie partagée
Fermé
sabrina
-
30 janv. 2013 à 20:37
mamiemando Messages postés 33333 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 31 octobre 2024 - 4 févr. 2013 à 08:12
mamiemando Messages postés 33333 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 31 octobre 2024 - 4 févr. 2013 à 08:12
A voir également:
- Compiler avec une librairie c
- Telecharger code blocks avec compilateur - Télécharger - Langages
- Comment compiler des pdf - Guide
- Librairie anspach ✓ - Forum Consommation & Internet
- Inno setup compiler - Télécharger - Édition & Programmation
- Compiler plusieurs fichiers excel - Guide
9 réponses
mamiemando
Messages postés
33333
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
31 octobre 2024
7 800
Modifié par mamiemando le 31/01/2013 à 10:04
Modifié par mamiemando le 31/01/2013 à 10:04
Il faudrait nous indiquer où est positionné libmyfile.so.
Si c'est dans /usr/local/lib, /usr/lib ou /lib tu peux directement ajouter l'option -lmyfile.
Si c'est un autre répertoire il faut passer des options à gcc pour explorer d'autres répertoires que les trois dossiers par défaut que je t'ai listé.
De la même manière que l'option -I (ou -isystem) permet d'enrichir la liste des dossiers dans lesquels gcc va chercher des headers (fichiers .h) sont si je ne me trompe pas :
-L enrichit la liste des répertoires dans lesquels il cherche des ".a"
-Wl,-R enrichit la liste des répertoires dans lesquels il cherche des ".so"
Ainsi, si le fichier s'appelle /home/toto/libmyfile.so, je pense que ta ligne de compilation devient la suivante :
Bonne chance
Si c'est dans /usr/local/lib, /usr/lib ou /lib tu peux directement ajouter l'option -lmyfile.
Si c'est un autre répertoire il faut passer des options à gcc pour explorer d'autres répertoires que les trois dossiers par défaut que je t'ai listé.
De la même manière que l'option -I (ou -isystem) permet d'enrichir la liste des dossiers dans lesquels gcc va chercher des headers (fichiers .h) sont si je ne me trompe pas :
-L enrichit la liste des répertoires dans lesquels il cherche des ".a"
-Wl,-R enrichit la liste des répertoires dans lesquels il cherche des ".so"
Ainsi, si le fichier s'appelle /home/toto/libmyfile.so, je pense que ta ligne de compilation devient la suivante :
gcc -Wl,-R /home/toto main.c file.o -lmyfile
Bonne chance