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 :

pthread_create et m�thode de classe


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 68
    Par d�faut pthread_create et m�thode de classe
    Bonjour,

    Je cherche � donner en param�tre � la fonction pthread_create une m�thode de classe. J'ai lu la FAQ et j'ai repris le code propos�, seulement j'ai des erreurs de compilation ... voici le code :

    ModemGPRS.h
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #include<pthread.h>
     
    class ModemGPRS{
    private:
        pthread_t *m_thread;
        pthread_mutex_t *m_mutex;
        static void *staticFunToGestionModem(void *arg);
     
    public:
        /* a part constructeur, destructeur et autres */
        void *gestionModem();
        void run(pthread_mutex_t *mutex);
    }
    ModemGPRS.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
     
    void *ModemGPRS::gestionModem() { /* blabla */ }
     
    void *ModemGPRS::staticFunToGestionModem(void *arg)
    {
        ModemGPRS *mod = reinterpret_cast<ModemGPRS*>(arg);
        return mod->gestionModem();
    }
     
    void ModemGPRS::run(pthread_mutex_t *mutex)
    {
        m_mutex = mutex;
        pthread_create(m_thread, NULL, staticFunToGestionModem, NULL);
    }
    Et � la compilation, j'ai un beau :

    build/Debug/GNU-Linux-x86/ModemGPRS.o: In function ModemGPRS::run(pthread_mutex_t*)':
    /home/Documents/routeur/ModemGPRS.cpp:339: undefined reference to `pthread_create'
    collect2: ld returned 1 exit status
    make[2]: *** [dist/Debug/GNU-Linux-x86/routeur] Erreur 1
    make[1]: *** [.build-conf] Erreur 2
    make: *** [.build-impl] Erreur 2

    Je ne comprends vraiment pas pourquoi il ne trouverait pas la fonction (sachant que quand je la remplissais mal, y'avait pas de soucis, il me disait bien que �a marchait pas comme il voulait ^^) .

    Je vous remercie d'avance !

  2. #2
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    il faut peut etre linker avec pthread aussi :�

    Rajoutes -lpthread a ta ligne de compilation

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    68
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 68
    Par d�faut
    Citation Envoy� par Joel F Voir le message
    il faut peut etre linker avec pthread aussi :�

    Rajoutes -lpthread a ta ligne de compilation
    ... en fait, je travaille sous Netbeans, donc je demandais une compile normale ! Il faut croire qu'il ne prend pas en compte tout seul l'option alors ^^

    Merci !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. m�thode et classes
    Par abbd dans le forum Langage
    R�ponses: 1
    Dernier message: 14/04/2006, 22h31
  2. R�ponses: 1
    Dernier message: 09/03/2006, 18h15
  3. R�ponses: 4
    Dernier message: 29/01/2006, 17h54
  4. Forme d'appel de m�thode r�serv� m�thodes de classe
    Par Chicobrasil dans le forum Langage
    R�ponses: 16
    Dernier message: 03/01/2006, 17h43
  5. R�ponses: 2
    Dernier message: 30/08/2005, 14h23

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