Bibliothèque sisl c++

Signaler
Messages postés
11
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2009
-
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
-
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

Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
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
Messages postés
11
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2009

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.
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
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'.
Messages postés
11
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
23 octobre 2009

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.
Messages postés
1107
Date d'inscription
mercredi 15 juin 2011
Statut
Membre
Dernière intervention
10 juillet 2018
4
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.