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 :

Problème de link des librairies de Boost


Sujet :

Boost C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Par défaut Problème de link des librairies de Boost
    Bonjour,

    Depuis 2 semaines je commence à travailler avec Boost sous VisualC++ 9 express.

    Actuellement j'ai utilisé des librairies de boost utilisable uniquement avec les .h

    Mais maintenant j'aimerai intégrer certaines librairie qui doivent être compilées.
    J'ai déjà compilé toutes les librairies (static et dynamique). Elles sont donc mon répertoire C:\_dev\lib

    Par contre je n'arrive pas à linker les librairies. J'ai essayé avec plusieurs (Program options, FileSystem) et c'est toujours pareil.

    Dans les options de mon projet, j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Linker / General / Additionnal Library Directories : C:\_dev\lib
    Linker / Input / Additionnal Dependencies : boost_program_options-vc90-mt-p-1_38.lib
    Et même en mettant ces options j'ai
    1>LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
    1>check_01.obj : error LNK2019: unresolved external symbol "public: __thiscall boost::program_options::options_description::options_description(class stlpd_std::basic_string<char,class stlpd_std::char_traits<char>,class stlpd_std::allocator<char> > const &,unsigned int)" (??0options_description@program_options@boost@@QAE@ABV?$basic_string@DV?$char_traits@D@stlpd_std@@V?$allocator@D@2@@stlpd_std@@I@Z) referenced in function _main
    L'impression que j'ai c'est que le fichier lib que je lui donne ne contient pas ce qu'il veut. Pourtout, j'ai regardé dedans et la chaine "options_description" existe bien.

    Là je ne sais plus quoi faire à part recoder Boost à partir de zéro.
    Donc si vous aviez une solution, je prends directement.

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Personnellement, j'ai juste mis le répertoire des .lib dans Additional Library Directory (options General de Linker). Je ne précise pas le .lib dans Input. Boost a un mécanisme qui lui permet de faire la chose tout seul. Et cela fonctionne parfaitement.
    As-tu vérifier que cette entrée (Additional Library Directory) contient bien le répertoire où sont les .lib ?

  3. #3
    Membre éclairé Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Par défaut
    Bonjour,

    Je viens de m'y remettre un coup et j'ai fouillé dans les .h de boost et je suis tombé sur la macro BOOST_LIB_DIAGNOSTIC. Et effectivement il fait le link automatiquement.

    Et maintenant lorsque je compile je peux voir le nom des librairies que boost link. Et j'ai bien le fichier
    Linking to lib file: libboost_program_options-vc90-mt-p-1_38.lib
    Mais j'ai toujours le même problème de link. J'y comprend rien.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Question bête : essaies-tu de lier avec la bibliothèque qui a les mêmes options (et compilé avec le même compilateur) que ton appli (multithread/monothread, unicode) ?

  5. #5
    Membre éclairé Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Par défaut
    En cherchant un peu j'ai trouvé une piste.

    Cela viendrait du fait que je ne compile pas mon projet avec STLPORT mais la STL de microsoft.

    C'est possible mais dans ce cas, j'aimerai savoir comment je peux vérifier que je compile bien avec STLPORT.
    Une idée ?

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Non
    A tout hasard, as-tu regardé le tuto Installer boost avec Visual C++ ? Il y a peut être des infos intéressantes.

  7. #7
    Membre éclairé Avatar de vanitom
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 327
    Par défaut
    Oui j'ai commencé avec cette installation, boostpro. Mais après ensuite j'ai constaté que c'était incompatible avec ma configuration actuel.
    Et oui comme je le disais, j'utilise STLPORT et je ne peux donc pas utiliser boostpro qui a été compilé avec la STL de microsoft.

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/01/2011, 15h29
  2. Problème pour insérer des librairies
    Par johann974 dans le forum Débuter
    Réponses: 7
    Dernier message: 18/04/2008, 16h53
  3. Réponses: 4
    Dernier message: 06/03/2008, 10h22
  4. problème de link des fichiers moc
    Par scol30 dans le forum Qt
    Réponses: 3
    Dernier message: 30/12/2006, 16h12
  5. Problème d'importation des librairies j2ee
    Par had35 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 28/08/2006, 12h04

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