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

Boost C++ Discussion :

Compilation avec bibliothèque statique


Sujet :

Boost C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut Compilation avec bibliothèque statique
    Bonjour, je ne suis pas certain qu'il s'agisse de la bonne section pour poster ca mais j'ai pas trouvé mieux

    Voila ma situation : J'ai participé à la création d'une librairie sous Ubuntu 12.04 qui requiert Boost 1.55 minimum (alors déjà j'ai galéré pour mettre boost 1.55 sous ubuntu 12.04 mais ça c'est une autre histoire).

    Maintenant que j'ai compilé ma librairie (en statique) sur une machine où il y avait Boost 1.55, j'obtient mon fichier libXXX.a.
    Si je souhaite maintenant utiliser les fonctions de cette bibliothèque dans un autre projet, sur une autre machine, est ce que j'ai toujours besoins d'avoir Boost 1.55 de disponible au moment où je compile ce projet ? (qui ne nécessite pas explicitement boost 1.55 mais qui inclue la librairie libXXX.a)

    Et est ce que les fichiers .a sont portables (compilé sous 12.04 puis utilisé sur 14.04 dans ce cas là) ?

    Voila j’espère que j'ai été assez clair, merci d'avance !

  2. #2
    Membre émérite
    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 : 36
    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
    Points : 2 466
    Points
    2 466
    Par défaut
    Bonjour,

    ce qui est bien avec Boost, c'est que c'est principalement des headers, ce qui signifie qu'il n'y a rien à linker (source), ce qui signifie que la lib, si elle n'expose aucun type ou fonction Boost, n'a pas besoinde Boost sur la machine client pour fonctionner. Malheureusement, il existe des contre-exemples ; dans ces cas, rtfm . Mais le meilleur moyen de le vérifier, c'est d'essayer.

    Bonne chance.
    -- Yankel Scialom

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Ok merci pour ta réponse. De toute façon j'avais prévue d'essayer d'ici la fin de la semaine.

    Le problème c'était que sur la première machine j'avais du réinstaller beaucoup de choses dont j'avais besoins car ils dépendaient de boost 1.54 (version par défaut sur Ubuntu 14.04) et quand je suis passé à la 1.55 il a fallu que je les désinstalle manuellement avant pour les remettre après.
    Comme la nouvelle machine est "vierge" j'aurais bien aimé savoir si ça allait marcher avant de tout installer, pour éviter cette étape de réinstallation. Comme à priori il y a des chances que ça marche, je vais me lancer.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : février 2014
    Messages : 24
    Points : 12
    Points
    12
    Par défaut
    Bon et bien apparement mon cas fais parti des contre-exemples. Pour résumé je développe une librairie A qui n'utilise pas boost 1.55. Par contre A inclue une librairie B qui elle a été développé avec boost 1.55.

    Sur une machine sans boost 1.55 je peux compiler A (qui inclue B) sans problème. Par contre, quand ensuite je veux compiler un projet qui utilise A, l’édition de lien retourne une erreur qui désigne des fonctions présentent dans B.

    Je crois que je n'y couperais je vais devoir installer cette version ...

Discussions similaires

  1. Problème de compilation avec bibliothèque personelle
    Par yetimothee dans le forum Bibliothèques
    Réponses: 1
    Dernier message: 10/08/2010, 04h01
  2. compilation avec librairie statique
    Par hector2 dans le forum Fortran
    Réponses: 4
    Dernier message: 04/05/2010, 11h39
  3. Réponses: 9
    Dernier message: 09/11/2007, 13h46
  4. Problème de lien avec une bibliothèque statique
    Par streetpc dans le forum C++/CLI
    Réponses: 2
    Dernier message: 28/10/2006, 17h38
  5. Réponses: 7
    Dernier message: 07/02/2006, 15h04

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