Bibliothèque sisl c++

bumbob Messages postés 11 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 23 octobre 2009 - 17 mars 2009 à 11:30
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 17 mars 2009 à 15:32
Bonjour à tous et bonne St Patrick...

Je dispose d'un dell M60 sous fedora 10 32bits.

Je dois faire de la programmation sur des études de surfaces, plans tangents, rayons de courbures, etc. Pour cela, je sais qu'il existe une bibliothèque de commandes qui s'appelle sisl, développée par sintef. J'ai téléchagé cette librairie, libre de droits pour une utilisation non commerciale, sur le sîte : http://www.sintef.no/Informasjons--og-kommunikasjonsteknologi-IKT/Anvendt-matematikk/Fagomrader/Geometri/Prosjekter/The-SISL-Nurbs-Library/SISL-GPL-download/
j'ai décompressé le fichier avec tar
j'ai ensuite effectué un make lib comme indiqué dans le fichier readme associé.

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.

Cordialement.

5 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
17 mars 2009 à 12:29
Ta question est plutot système.

Tu peux utiliser LD_LIBRARY_PATH, mais c'est un peu dégueulasse.

Sinon, dans /etc, je crois qu'il y a un répertoire init.d, tu peux créer un fichier (texte) dedans tu mets le(s) chemin(s) de tes lib.

J'ai pas de linux pour vérifier l'endroit exacte d'init.d
0
bumbob Messages postés 11 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 23 octobre 2009
17 mars 2009 à 12:58
Merci pour votre réponse.

En effectuant vos indications, je rencontre les problèmes suivants :

Dans /etc/init.d, j'ai creé un fichier sisl.txt contenant le chemin suivant :

/home/zerbinati/Téléchargement/sisl_4.4_gpl/sisl/include/sisl.h

ensuite j'ai testé avec :

/home/zerbinati/Téléchargement/sisl_4.4_gpl/sisl/lib

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

Cordialement.
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
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).

Pour ton .h, utilise le 'path'.
0
bumbob Messages postés 11 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 23 octobre 2009
17 mars 2009 à 14:25
j'ai trouvé une autre solution, en indiquant directement le chemin de la librairie lors de la compilation avec -L/path.

merci pour vos réponses.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
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.
0
Rejoignez-nous