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 lors du link avec Boost thread.


Sujet :

Boost C++

  1. #1
    Membre confirmé Avatar de Andarus
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 137
    Points : 455
    Points
    455
    Par défaut Problème lors du link avec Boost thread.
    Je tente pour la première fois d'utiliser Boost thread, j'essaie donc de compiler un code d'exemple trouvé dans le dossier boost.

    helloworld3.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    // Copyright (C) 2001-2003
    // William E. Kempf
    //
    //  Distributed under the Boost Software License, Version 1.0. (See accompanying 
    //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
     
    #include <boost/thread/thread.hpp>
    #include <boost/bind.hpp>
    #include <iostream>
     
    void helloworld(const char* who)
    {
        std::cout << who << "says, \"Hello World.\"" << std::endl;
    }
     
    int main()
    {
        boost::thread thrd(boost::bind(&helloworld, "Bob"));
        thrd.join();
    }
    Le premier problème que j'ai rencontré était l'absence des libraries "libboost_thread-vc100-mt-s-1_48.lib" et "libboost_date_time-vc100-s-1_48.lib". Après avoir compiler boost, j'ai récupéré les librairie manquante mais il me reste des erreurs à l'édition de lien que je ne comprend pas.

    le commande qui me sert à compiler :
    cl /I"C:\boost\boost_1_48_0" /EHsc helloworld3.cpp /link /LIBPATH:"C:\boost\boost_1_48_0\stage\lib"

    les erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    helloworld3.obj : error LNK2019: symbole externe non résolu "public: __cdecl boo
    st::thread::~thread(void)" (??1thread@boost@@QEAA@XZ) référencé dans la fonction
     main
    helloworld3.obj : error LNK2019: symbole externe non résolu "public: void __cdec
    l boost::thread::join(void)" (?join@thread@boost@@QEAAXXZ) référencé dans la fon
    ction main
    helloworld3.obj : error LNK2019: symbole externe non résolu "private: void __cde
    cl boost::thread::start_thread(void)" (?start_thread@thread@boost@@AEAAXXZ) réfé
    rencé dans la fonction "public: __cdecl boost::thread::thread<class boost::_bi::
    bind_t<void,void (__cdecl*)(char const *),class boost::_bi::list1<class boost::_
    bi::value<char const *> > > >(class boost::_bi::bind_t<void,void (__cdecl*)(char
     const *),class boost::_bi::list1<class boost::_bi::value<char const *> > >,stru
    ct boost::thread::dummy *)" (??$?0V?$bind_t@XP6AXPEBD@ZV?$list1@V?$value@PEBD@_b
    i@boost@@@_bi@boost@@@_bi@boost@@@thread@boost@@QEAA@V?$bind_t@XP6AXPEBD@ZV?$lis
    t1@V?$value@PEBD@_bi@boost@@@_bi@boost@@@_bi@1@PEAUdummy@01@@Z)
    helloworld3.exe : fatal error LNK1120: 3 externes non résolus
    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé Avatar de Andarus
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 137
    Points : 455
    Points
    455
    Par défaut
    J'ai trouvé .

    Il fallait construit les librairies en 64bit pour cela il faut rajouter "address-model=64" à la commande de b2.

    Ce qui donne pour moi : b2 --toolset=msvc --build-type=complete address-model=64 link=static stage.

    L'un de vous sauraient-ils où je peut trouver un document regroupant toute les options de compilation pour boost?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de compilation/linkage avec boost::thread
    Par theanthony33 dans le forum Boost
    Réponses: 7
    Dernier message: 26/04/2010, 00h37
  2. Problème de lib avec Boost::thread
    Par TocTocKiéLà? dans le forum Boost
    Réponses: 5
    Dernier message: 14/08/2007, 01h05
  3. Questions de perfomance avec boost::thread
    Par Rafy dans le forum Boost
    Réponses: 36
    Dernier message: 05/10/2006, 15h21
  4. [Avis aux pros !] Problèmes de la VCL avec les threads
    Par benj63 dans le forum C++Builder
    Réponses: 3
    Dernier message: 17/02/2006, 22h38
  5. Problème lors du "linking..."
    Par nicolos dans le forum C++Builder
    Réponses: 14
    Dernier message: 25/08/2005, 11h12

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