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 du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 68
    Points : 52
    Points
    52
    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 chevronné
    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 : 43
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Points : 1 921
    Points
    1 921
    Par défaut
    il faut peut etre linker avec pthread aussi :€

    Rajoutes -lpthread a ta ligne de compilation

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 68
    Points : 52
    Points
    52
    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. [C#] Ajout d'une méthode à la classe DropDownList
    Par Scorff dans le forum ASP.NET
    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