IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

[Linux - g++] Bibliothèques et dépendances


Sujet :

C++

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Points : 230
    Points
    230
    Par défaut [Linux - g++] Bibliothèques et dépendances
    Bonjour,

    J'ai un répertoire "common/" qui contiens quelques fichiers .cpp, je compile ses fichiers .cpp afin d'obtenir une bibliothèque: libCommon.so

    J'ai un repertoire "core/" qui contiens "core.cpp" qui dépend de libCommon.so. Je compile "core.cpp" en "core.o". Ensuite, je link comme ceci: "g++ -shared -o libCore.so ../common/libCommon.so core.o".

    Et pour finir, je crée un fichier exécutable qui utilise libCore.so. Mais quand je lance mon fichier exécutable, il me dit qu'il ne trouve pas "../common/libCommon.so". Comment faire pour lui dire d'aller voir dans /usr/lib et non pas dans "../common/" ?

    Merci d'avance...

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Les options à passer pour linker différentes bibliothèques sont respectivement -L et -l (L en minuscule)

    La première permet d'indiquer le chemin à suivre pour trouver le dossier dans lequel se trouve(nt) la (les) bibliothèques qu'il faudra linker, la deuxième permet de fournir le nom de la (des) bibliothèque(s) avec laquelle (lesquelles) il faut le faire, en supprimant le lib de début de nom et le .so .

    Au final, la commande devrait permettre de compiler ton projet serait proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -shared -o libCore.so -L../common -lCommon -c  core.o
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. Comment installer la bibliothèque GD - Gestion des dépendances sous Linux et Mac OS
    Par djibril dans le forum Programmation et administration système
    Réponses: 10
    Dernier message: 19/03/2015, 21h26
  2. Gestion de bibliothèque avec dépendances
    Par norvan dans le forum Maven
    Réponses: 3
    Dernier message: 19/09/2011, 13h32
  3. [Linux] Aucune bibliothèque ne fonctionne
    Par ProgVal dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 21/08/2009, 18h01
  4. [C - Linux] Gestion bibliothèques dynamiques
    Par baptx dans le forum Linux
    Réponses: 2
    Dernier message: 09/01/2009, 12h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo