Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compilation séparée avec g++

Sujet résolu
    2 janvier 2006 à 11:23:29

    Bonjour !

    Je développe un jeu de serpent sous linux avec gedit (oui je suis un barbare). Etant donné que le projet a déjà dépassé les 1000 lignes de code, je commence un peu à m'y perdre dans mon unique fichier serpent.cpp. :D

    Malheureusement, quand j'essaye de fragmenter un peu tout ça, c'est la cata !!! o_O

    Bon je vous détaille pas à pas ce que je fais pour que vous puissiez me dire où est l'erreur.

    Je compile le main.cpp dont voici les headers :
    #include <string>
    #include <stdlib.h>
    #include <ncurses.h>
    #include <fstream>
    #include "jeu.cpp"

    Je suppose donc qu'après ça, il appelle jeu.cpp dont voici les headers :
    #include "../Les_points_h/jeu.h"
    #include "serpent.cpp"
    #include "pomme.cpp"
    #include "joueur.cpp"
    #include "ordi.cpp"

    A ce stade, quelques explications sont peut-être nécessaires. Mon projet contient 5 classes :
    1.pomme, 2.serpent, 3.joueur et 4.ordi qui héritent tous les deux de serpent et enfin 5.jeu dont toutes les autres classes sont membres (incluses dedans).
    Je continue. Je suppose donc maintenant que g++ appelle jeu.h :

    class Jeu
    {
    friend class Serpent;
    friend class Pomme;

    protected :

            char M[50][20];
            char commande;
            int xmax,ymax;
            int ppp;
            fstream save;
            int grossissement;
            int arret;
            class Serpent;
            class Pomme;
            class Joueur;
            class Ordi;

            public :

            Jeu();
            bool Menu(int statut,Joueur& a, Ordi& b, Pomme& p);
            void reset(Jeu& j, Joueur& a, Ordi& b, Pomme& p);
            void Affichage(Joueur& a, Ordi& b);
    };



    Après j'imagine qu'il doit appeler pomme.cpp, serpent.cpp, joueur.cpp, ordi.cpp qui contiennent chacun leur .h respectif.

    Mais voilà, quand je compile j'ai une page d'erreurs (plusieurs même)...
    Il m'annonce des trucs non déclarés, par exemple fstream qu'il ne comprend pas dans jeu.h quand je déclare fstream save alors que j'ai inclu <fstream> dans main.cpp avant (bien sûr) jeu.cpp

    Bref si vous pouviez me donner un coup de main ce serait sympa !

    Merci d'avance ! ^^

    edit: si ça peut aider je mets aussi le log de compilation...
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      2 janvier 2006 à 11:36:48

      On inclut pas des .cpp...

      Tu as mis une classe par .h ? Dans chaque fichier .cpp ave une classe tu inclus son .h au début. Ensuite, quand dans un fichier tu as besoin d'une classe contenue dans un autre fichier, tu inclus le header pour utiliser la classe.

      Ensuite, tu compiles tous les fichiers en faisant g++ fichier1.cpp fichier2.cpp fichier3.cpp fichier4.cpp -o executable
      Et tous tes fichiers sont compilés et linkés.

      ;)

      ps : j'espère que je dis pas de bêtises, je suppose que g++ s'appelle comme gcc et que les headers marchent de la même fçon qu'en C.
      • Partager sur Facebook
      • Partager sur Twitter
        2 janvier 2006 à 11:53:18

        Ok merci je vais essayer comme ça !
        • Partager sur Facebook
        • Partager sur Twitter
          2 janvier 2006 à 13:14:00

          de toute facon :
          man g++


          Pourquoi tu codes sous gedit %% ! Prend emacs !
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            2 janvier 2006 à 14:50:21

            C'est bien gedit :-° tu as quelque chose contre ? (ok je suis en train d'apprendre à utiliser Emacs... enfin l'interface de gedit est tellement plus belle).

            Et puis il est long le man de g++ :D mais en fait il a presque les mêmes options que gcc puisque gcc appelle g++ quand on lui passe un fichier .cpp non ?
            • Partager sur Facebook
            • Partager sur Twitter
              2 janvier 2006 à 19:01:28

              Nano il parait que c'est bien ! J'ai un pote qui l'utilise...

              Ouais bon pour mes compils ça marche... moyen. Mais petit à petit et en prenant une erreur après l'autre je vais y arriver ! ^^

              Je crois que j'ai pigé les includes c'est l'essentiel !

              Bye !
              • Partager sur Facebook
              • Partager sur Twitter

              Compilation séparée avec g++

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown