bumbob
Messages postés11Date d'inscriptionmardi 17 mars 2009StatutMembreDernière intervention23 octobre 2009
-
17 mars 2009 à 11:30
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 2021
-
17 mars 2009 à 15:32
Ma question est de savoir s'il est possible de rendre cette librairie accessible de n'importe quel autre dossier dans lequel on désire compiler un programme l'utilisant?
La rendre générale, en somme.
où j'ai compilé ma bibliothèque sisl. Lorsque je vais dans un autre dossier dans lequel je dois compiler un programme appelant des fonctions de cette bibliothèque, le premier message d'erreur est le suivant (dans les deux cas):
monfichier.c:34:18: erreur: sisl.h : Aucun fichier ou dossier de ce type
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 17 mars 2009 à 13:57
init.d c'est pour les librairies : fichiers .so ou .a pas pour les .h
quand tu ajoutes un fichier, il faut passer en admin ('su') et lancer ldconfig pour que le system prenne en compte ton ajout.
Après, en théorie, ton chemin apparait dans le cache (je ne me rappelle plus d ela commande pour lire le cache).
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 17 mars 2009 à 15:32
En effet, pourquoi n'y ai-je pas penser !!!
Mais ca ne va pas résoudre ton pb à l'exécution de l'exe. Ca résoud juste le pb de link avec gcc.
Je n econnais pas ton niveau de connaissance du systeme Linux, perso au début j'ai bien galéré, pour savoir si ton exe trouve bien toutes les librairies tu peux taper :
ldd monexe
Et tu verras toutes les dépendances et si elle sont trouvées.
Contrairement à Windows, si tu mets la lib dans le répertoire courant de l'exe elle n'est pas obligatoirement détectée et si elle l'est, elle n'est pas chargée prioritairement par rapport à son homonyme qui serait dans le "path" ou cache.