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 :

Link : imposer un linkage statique


Sujet :

C++

  1. #1
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut Link : imposer un linkage statique
    Bonjour à tous.
    Lorsque je lance mon exécutable final, une erreur me dit qu'il n'est pas possible de trouver la bibliotèque libgeotiff : normal celle-ci n'existe pas ! J'aimerais imposer à mon compilateur un linkage statique.

    Voici ma situation (un peu originale)
    • J'ai libgeotiff (C++) configuré et compilé (compilation et link : OK)
    • J'ai une biblio personnelle (C++) utilisant libgeotiff (compilation et link : OK)
    • J'ai un programme "test" (en ocaml '-_-) utilisant ma biblio (compilation et link OK)


    lorsque je tente d'exécuter test, une belle erreur me signifie qu'il ne trouve pas libgeotiff.so (=lbiblio dynamique sous Linux). J'aimerais pour ma part compiler en statique. j'ai tenté d'ajouter des -custom un peu partout, sans résultat.

    Avez-vous une idée de pourquoi mon cher "test" cherche-t-il une library dynamique ? Merci d'avance.


    Pour info, je compile ma biblio perso de la même m'anière que d'autres que j'ai réussi à faire exécuter par un programme ocaml. Je ne vois pas pourquoi le fait que ladite utilise une autre bibliothèque modifie la donne.

  2. #2
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    À mon avis, tu aurais plus d'aide sur le forum ocaml, vu que l'étape finale de la compilation (celle où il faudrait linker en statique), c'est lui qui la fait...

  3. #3
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Merci de vous pencher sur mon soucis.

    Ce n'est pas impossible, mais la communauté caml est assez réduite en comparaison de la communauté C/C++. De plus, le compileur et le linker ocaml sont assez proches de G++ et ld. Ils fonctionnent avec les mêmes arguments, lèvent les mêmes erreurs ... si bien qu'il m'arrive de confondre.

    Ainsi, si j'utilisais du C++ lors de la dernière étape et que je rencontrais le même problème, que proposeriez vous ?

  4. #4
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Je rajouterai l'option -static au moment du link. Peut-être que le mieux est de le faire au moment de la compilation de ta bibiothèque personnelle qui utilise libgeotiff, plutôt qu'au moment de l'exécutable final (qui, en plus, doit sûrement utiliser d'autres bibliothèques que tu veux garder en dynamique).

    Sinon, l'autre option est d'utiliser un .a plutôt qu'un .so.

Discussions similaires

  1. GCC - Link librairie dynamique et statique
    Par cnicolot dans le forum C++
    Réponses: 4
    Dernier message: 20/05/2011, 10h47
  2. Error de link sur des membres statiques définis
    Par chr.charles dans le forum C++
    Réponses: 3
    Dernier message: 25/02/2011, 09h56
  3. Problème de linkage statique sous G++
    Par esteban dans le forum C++
    Réponses: 1
    Dernier message: 19/08/2010, 19h27
  4. Réponses: 2
    Dernier message: 09/12/2009, 18h54
  5. Erreur de link VS8 avec libcurl statique
    Par ycc000 dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 08/11/2006, 22h56

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