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 :

Programmation modulaire avec Codeblocks, problème


Sujet :

C

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 44
    Points : 37
    Points
    37
    Par défaut Programmation modulaire avec Codeblocks, problème
    Bonjour,
    Hier j'ai commencé un mini-projet d'un jeux video, et tout se passait bien jusqu'à ce que je commence à inclure des fichiers dans mon projet.

    Actuellement, j'ai 5 fichiers : main.c , editeur.h, editeur.c, jouer.h, jouer.c .

    Et voici ce qu'il y a dedans (pour que je puisse tester, les fonctions dans editeur.c et jouer.c sont vides), et la SDL ne rentre pas en ligne de compte pour mon problème :

    main.c :
    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
    24
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include "jouer.h"
    #include "editeur.h"
     
     
    int main ( int argc, char** argv )
    {
        ...blabla inutile pour mon problème
                    if(event.key.keysym.sym == SDLK_KP1)
                        niveau(); //le jeu se lance
                    else if(event.key.keysym.sym == SDLK_KP2)
                        editeurNiveau(); //l'éditeur se lance
                    break;
     
                default:
                    break;
            }
        ...autre blabla inutile pour mon problème
        return 0;
    }
    editeur.c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    /* je pensais que le dernier include se faisait automatiquement, mais pour voir si c'était ça... je l'ai mis... et ça ne l'est pas ! Donc apparement il n'est pas utile*/
    #include "editeur.h"
     
     
    void editeurNiveau(void)
    {
     
    }
    jouer.c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>
    #include "jouer.h"
     
     
    void niveau(void)
    {
     
    }
    Donc quand je compile, voici les deux erreurs que j'ai :
    obj/Debug/main.o: In function `main':
    /home/catsoulet/Programmation/Mario sokoban/main.cpp:55: undefined reference to `niveau()'
    /home/catsoulet/Programmation/Mario sokoban/main.cpp:57: undefined reference to `editeurNiveau()'

    J'ai bien verifié que mes fichiers étaient inclus dans le projet, donc j'en conclue, que cela viendrait des propriétés du projet ou ceux du compilateur.
    Le problème est que je n'y connais pas grand chose, et par conséquent, je ne sais comment résoudre mon problème.

    Merci d'avance,
    Bonne journée

  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    862
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 862
    Points : 717
    Points
    717
    Par défaut
    Bonjour,

    Pourriez-vous remplacer void niveau() par void niveau(void)
    idem pour la déclaration dans jouer.h

    Idem pour void editeurNiveau() -> void editeurNiveau(void)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 44
    Points : 37
    Points
    37
    Par défaut
    Effectivement, une belle faute de ma part, malheuresement l'erreur est toujours là.

  4. #4
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    862
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 862
    Points : 717
    Points
    717
    Par défaut
    Et en mettant le code (pour essai) directement dans main.c ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 44
    Points : 37
    Points
    37
    Par défaut
    Ca fonctionne.

    Une personne m'a proposé de renommer mon fichier main.cpp en main.c . Cela se pourrait-il être la source de l'erreur ?
    Je n'arrive pas à essayer, car lorsque je le renomme, supprime l'ancien ficher, et rajoute le main.c , j'ai l'impression que le compilateur le prend toujorus comme un main.cpp !

Discussions similaires

  1. Problème SDL avec CodeBlock
    Par dr_nietzsche dans le forum Windows
    Réponses: 1
    Dernier message: 11/12/2008, 21h09
  2. Réponses: 7
    Dernier message: 09/04/2008, 04h13
  3. probléme en programme fenetre avec swing
    Par grungy-soul dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 16/12/2007, 00h14
  4. Problème debugger en programmation modulaire
    Par Henri dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 04/12/2007, 11h56
  5. Programmation CLR avec Visual C++, quelques problèmes
    Par sepullayer dans le forum VC++ .NET
    Réponses: 2
    Dernier message: 13/03/2007, 13h03

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