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

Dev-C++ Discussion :

[BOOST] Problème avec les threads


Sujet :

Dev-C++

  1. #1
    Membre régulier
    Avatar de SOAD08
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 101
    Points : 108
    Points
    108
    Par défaut [BOOST] Problème avec les threads
    Bonjour,

    Ayant besoin d'utiliser les threads dans un de mes programmes, on m'a recommander la librairie Boost.

    Voila mon problème :

    J'ai placé les fichier de Boost dans le dossier include de Devcpp et inclu la librairie thread :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <boost/thread/thread.hpp>
    et attaché une fonction a un thread de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    int blabla()
    {
        ...
    }
    ...
    boost::thread threadblabla(&blabla);
    Mais j'ai cette erreur à la compilation :

    [Linker error] undefined reference to boost::thread::thread(boost::function0<void, std::allocator<boost::function_base> > const&)'
    [Linker error] undefined reference to `boost::thread::~thread()'
    [Linker error] undefined reference to `boost::thread::~thread()'
    Je suppose que cette erreur viens du linker, ou de devcpp mais étant debutant en C++, je ne trouve pas mon erreur.

    Si quelqu'un peux trouver la solution a mon problème...

    Merci d'avance.
    www.cppreference.com ==> A lire pour vos problèmes touchant à la STL
    www.php.net ==> A lire avant de demander le fonctionnement d'une fonction PHP

    Alliance developpez Muzgo

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    C'est bien une erreur du linker. Tu dois avoir besoin d'une bibliothèque statique de boost pour utiliser le multithreading: Les headers ne suffisent pas...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre régulier
    Avatar de SOAD08
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 101
    Points : 108
    Points
    108
    Par défaut
    Les librairies statiques sont bien les fichiers au format .a non ? car je n'ai pas de fichiers .a dans le package boost :s
    www.cppreference.com ==> A lire pour vos problèmes touchant à la STL
    www.php.net ==> A lire avant de demander le fonctionnement d'une fonction PHP

    Alliance developpez Muzgo

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Les bibliothèques statiques sont au format .a pour GCC, mais je crois bien que boost n'est livré avac aucune bibliothèque précompilée: Pour utiliser ces parties de boost, il me semble que tu dois les compiler toi-même d'abord.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre régulier
    Avatar de SOAD08
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 101
    Points : 108
    Points
    108
    Par défaut
    Merci de ton aide grâce a toi j'ai trouvé ça sur le forum, je vais essayer ça :
    http://www.developpez.net/forums/sho...compiler+boost


    EDIT : Aïe, mon problème n'est pas si résolu que ça :s

    J'ai compilé bjam, present dans le package de bost, jusqu'ici pas de problème, par contre impossible de compiler correctement les librairies à l'aide de bjam, j'obtient le message suivant :

    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
    21
    22
    23
    ******************************************************
    Building Boost.Iostreams with bzip2 support disabled.
    To enable bzip2, consult the Boost.Iostreams documentation
    ******************************************************
    ******************************************************
    Building Boost.Iostreams with zlib and gzip support disabled.
    To enable zlib and gzip, consult the Boost.Iostreams documentation
    ******************************************************
    Building Boost.Regex with the optional Unicode/ICU support disabled.
    Please refer to the Boost.Regex documentation for more information
    (and if you don't know what ICU is then you probably don't need it).
    Jamfile:278: in load-jamfiles
    *** argument error
    * rule stage ( name : sources + : requirements * : local-build * )
    * called with: ( include/boost-1_33_1 :  : <locate>C:\Boost <tree-subdirs>C:\Doc
    uments and Settings\Yohan\Mes documents\boost_1_33_1 <target>install :  )
    * missing argument sources
    C:\Documents and Settings\Yohan\Mes documents\boost_1_33_1\tools/build/v1\boost-
    base.jam:2330:see definition of rule 'stage' being called
    C:\Documents and Settings\Yohan\Mes documents\boost_1_33_1\tools\build\v1\bootst
    rap.jam:21: in boost-build
    C:\Documents and Settings\Yohan\Mes documents\boost_1_33_1\boost-build.jam:16: i
    n module scope
    Quelqu'un c'est deja servi de cette librairie et pourrait m'aider ?

    merci d'avance.
    www.cppreference.com ==> A lire pour vos problèmes touchant à la STL
    www.php.net ==> A lire avant de demander le fonctionnement d'une fonction PHP

    Alliance developpez Muzgo

  6. #6
    Membre éclairé Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Points : 862
    Points
    862
    Par défaut
    Ayant besoin d'utiliser les threads dans un de mes programmes, on m'a recommander la librairie Boost.
    Je ne pourrais t'aider pour cette bibliothèque mais j'en connais une autre qui s'avère bien sympa: pThread.

    Voici le lien au cas où:
    http://sourceware.org/pthreads-win32/

    Bonne soirée

  7. #7
    Membre régulier
    Avatar de SOAD08
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 101
    Points : 108
    Points
    108
    Par défaut
    Je vais essayer pThread je te tiens au courant merci
    www.cppreference.com ==> A lire pour vos problèmes touchant à la STL
    www.php.net ==> A lire avant de demander le fonctionnement d'une fonction PHP

    Alliance developpez Muzgo

  8. #8
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Salut,
    Juste comme ça : tu as un devpack de boost dans le packmanager de dev-c++ (sur le miroir devpak.org je crois). Et il me semble que tu as les lib compilées et tout.
    Mais bon rien ne vaut la compilation maison Quand à cette erreur je ne l'ai jamais eue... Vas voir sur le forum/l'IRC de boost et demande.

Discussions similaires

  1. Un petit problème avec les Threads
    Par Zikas-r dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 11/12/2008, 19h42
  2. Problème avec les thread
    Par _SamSoft_ dans le forum Réseau
    Réponses: 21
    Dernier message: 28/10/2007, 15h21
  3. problèmes avec les threads
    Par lukbutor dans le forum C
    Réponses: 7
    Dernier message: 03/05/2007, 00h15
  4. Problèmes avec les thread et les pointeurs
    Par raspac dans le forum POSIX
    Réponses: 2
    Dernier message: 22/10/2006, 17h35
  5. Réponses: 5
    Dernier message: 10/05/2005, 10h22

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