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 :

[debutant] probleme avec le linker


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 27
    Par défaut [debutant] probleme avec le linker
    bonjour, je debute en C++, et je suis deja bloqué par un probleme : pour l'instant j'ai juste créé une classe avec une methode, et un main qui créé une instance de cette classe et lance la methode. ça compile sans erreur, mais le programme ne se lance pas et le linker me sort un probleme.
    mes classe :


    Main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include "Jeu.cpp"
    #include "Jeu.h"
    #include <iostream>
     
    int main()
    {
      Jeu jeu;
      jeu.Lancer();
      return 0;
    }



    Jeu.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include <iostream>
    #include "Jeu.h"
     
    void Jeu::Lancer()
    {
        cout<<"ok";
    }



    Jeu.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 <vector>
    #ifndef JEU_H
    #define JEU_H
     
    class Jeu{
      private:
        vector<int> joueurs;
      public:
        Jeu();
        ~Jeu();
        void Lancer();
    };
     
    #endif



    j'ai pourtant suivi ce qui est donné dans la FAQ (http://c.developpez.com/faq/cpp/?pag...SS_header_cpp)
    le linker me dit :

    e:\...\jeu.o(.text+0x10):jeu.cpp: multiple definition of `Jeu::Lancer(void)'
    e:\...\main.o(.text+0x10):main.cpp: first defined here

    mais si je supprime Lancer() dans un des fichiers ca ne compile plus.
    comment faire ?
    [/quote]

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    j'ai pourtant suivi ce qui est donné dans la FAQ (http://c.developpez.com/faq/cpp/?pag...SS_header_cpp)
    pourtant la faq ne dit pas d´inclure le fichier cpp dans ton main.cpp.

  3. #3
    Alp
    Alp est déconnecté
    Expert confirmé

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    C'est simple...
    Il n'y a pas besoin d 'inclure Jeu.cpp!
    En général on met les déclarations de class dans les .hpp(ou .h) et les définitions dans les .cpp, ainsi on a juste à inclure les déclarations(.h) et on compile les définitions.

    Donc aucunement besoin d'inclure Jeu.cpp

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 27
    Par défaut
    j'avais essayé mais il me sortait un probleme avec les constructeurs, mais vous m'avez guidé et maintenant c'est bon, merci 8)
    je en met pas de "réglé" pour l'instant, je risque de revenir, j'attends que tout soit fini.

Discussions similaires

  1. [Debutant] Probleme avec BevelBorder
    Par devil26 dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 09/05/2005, 09h41
  2. [debutant]probleme avec wxwidgets
    Par iwky dans le forum wxWidgets
    Réponses: 11
    Dernier message: 23/01/2005, 20h23
  3. [DEBUTANT] Probleme avec glortho
    Par barthelv dans le forum OpenGL
    Réponses: 12
    Dernier message: 23/11/2004, 14h21
  4. [DEBUTANT] probleme avec split ?
    Par matN59 dans le forum ASP
    Réponses: 6
    Dernier message: 23/10/2004, 15h47
  5. Réponses: 2
    Dernier message: 31/08/2004, 11h45

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