Partage
  • Partager sur Facebook
  • Partager sur Twitter

Code::Blocks crash lancement projet SDL

    28 novembre 2015 à 18:35:49

    Bonjour j'ai un problème à s'arracher les cheveux j'ai besoin de votre aide !

    Voilà j'ai créer un petit programme en utilisant la SDL 1.2 tout fonctionnait très bien pas de problème, mon programme fonctionnait. Mais voilà depuis ce matin dès que je lance mon programme depuis Code::Blocks ou avec l'executable, sa crash sans que le programme ne se lance. Pourtant je n'ai absolument rien changé enfin je pense. Tout est bon, la SDL est bien configuré, j'ai bien les dll ...

    De plus le programme ne se lance pas et ne s'ouvre pas mais quand je regarde dans les programme ne cours d'execution, il y a mon programme mais impossible de forcer la fermeture.

    Je ne comprends plus rien, pourquoi quand je lance mon programme sa crash, même code::blocks crash alors qu'avant pas dutout...

    Merci d'avance pour votre aide

    -
    Edité par neops8 28 novembre 2015 à 18:37:55

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      28 novembre 2015 à 18:38:52

      Salut :ange:,

      comment ça, il crash o_O ? Tu peux détailler ?

      PS : Il y a la SFML, elle est bien mieux que la SDL (après, ça dépends des goûts :p ).

      • Partager sur Facebook
      • Partager sur Twitter
        28 novembre 2015 à 18:40:49

        Bah en gros je compile tout va bien, j'appuie sur "Run" et la code::blocks crash c'est à dire qu'il fait le truc windows "Le programme ne répond plus..." et si j'essaye de lancer mon programme via l'executable rien ne s'ouvre. Je vais péter un câble parceque tout fonctionnait hier xD Et j'ai rien touché à priori !

        PS : Je suis obligé d'utiliser la SDL (c'est un projet dans le cadre de mes études) ^^

        -
        Edité par neops8 28 novembre 2015 à 18:41:37

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          28 novembre 2015 à 18:43:05

          Ah .

          Essai d'utiliser le débogueur :) .

          • Partager sur Facebook
          • Partager sur Twitter
            28 novembre 2015 à 18:47:25

            J'ai bien essayé mais le débugger bug, il s'arrête à :

            Registered new type: STL Vector

            Setting breakpoints

            Debugger name and version: GNU gdb (GDB) 7.5

            Et après plus rien, il bloque et impossible de l'arrêter, sa me donne une erreur ><
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              28 novembre 2015 à 18:50:04

              montre ton code :p .
              • Partager sur Facebook
              • Partager sur Twitter
                28 novembre 2015 à 18:52:37

                Je l'ai envoyé par MP, mais je ne pense pas que sa vienne du code car si je créer un nouveau projet SDL avec le code de base j'ai le même problème.
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  28 novembre 2015 à 18:57:21

                  Pour que plus de personne puisse t'aider, ce serais mieux de l'envoyer ici :p . (En plus il y a une balise de code :p )

                  Je l'envoie de ta part .

                  #include <SDL.h>
                  #include <iostream>
                  #include <vector>
                  #include "jeu.h"
                  
                  using namespace std;
                  
                  // Taille de la fenêtre :
                  const int WIDTH=640;
                  const int HEIGHT=480;
                  
                  typedef vector<vector<int> > Grille;
                  
                  int main(int argc, char **argv)
                  {
                  //Déclaration des variables
                      SDL_Event event;
                      SDL_Surface *screen;
                      bool done = false;
                  
                      SDL_Init(SDL_INIT_VIDEO);
                  
                  // Titre de la fenêtre
                      SDL_WM_SetCaption("Jeu 2048", NULL);
                  
                      SDL_WM_SetIcon(SDL_LoadBMP("icon.bmp"), NULL);
                  
                  //Définition de la fenêtre
                      screen = SDL_SetVideoMode(WIDTH,HEIGHT, 32,
                                                SDL_DOUBLEBUF | SDL_HWSURFACE);
                  
                  //Déclaration de la grille du jeu
                      Grille t = grilleVide();
                      t = initialiseGrille(t);
                  
                  //affichage de la fenêtre avec la grille de départ
                      afficheGrille(t, screen);
                  
                  //Boucle principale
                      while(!done)
                      {
                  //Gestion des évènements
                          while(SDL_PollEvent(&event))
                          {
                              switch(event.type)
                              {
                  // Permet de quitter la boucle
                              case SDL_QUIT:
                                  done = true;
                                  break;
                  
                  //Gestion du clavier
                              case SDL_KEYDOWN:
                              {
                                  switch(event.key.keysym.sym)
                                  {
                                  case SDLK_UP: // Flèche haut
                                      t = deplacementHaut(t);
                                      afficheGrille(t, screen);
                  
                                      if(estTerminee(t) == true)
                                          done = true;
                  
                                      if(estGagnant(t) == true)
                                          main(0,0); // à changer
                                      break;
                  
                                  case SDLK_DOWN: // Flèche bas
                                      t = deplacementBas(t);
                                      afficheGrille(t, screen);
                  
                                      if(estTerminee(t) == true)
                                          done = true;
                  
                                      if(estGagnant(t) == true)
                                          main(0,0); // à changer
                                      break;
                  
                                  case SDLK_RIGHT: // Flèche droite
                                      t = deplacementDroite(t);
                                      afficheGrille(t, screen);
                  
                                      if(estTerminee(t) == true)
                                          done = true;
                  
                                      if(estGagnant(t) == true)
                                          main(0,0); // à changer
                                      break;
                  
                                  case SDLK_LEFT: // Flèche gauche
                                      t = deplacementGauche(t);
                                      afficheGrille(t, screen);
                  
                                      if(estTerminee(t) == true)
                                          done = true;
                  
                                      if(estGagnant(t) == true)
                                          main(0,0); // à changer
                                      break;
                  
                                  case SDLK_ESCAPE: // Echap
                                      done = true;
                                      break;
                  
                                  default:
                                      break;
                                  }
                              }
                  
                              default:
                                  break;
                              }
                          }
                      }
                  
                      SDL_Quit();
                      return 0;
                  }
                  

                  (Même si peut-être ce n'est pas la faute du code).

                  • Partager sur Facebook
                  • Partager sur Twitter
                    28 novembre 2015 à 19:01:02

                    Franchement je comprends plus rien. Mais sachant que peut importe le code même si il est parfaitement bon, j'ai le même problème. Je pense que le problème ne peut venir que de la SDL, pourtant tout est bien configuré, j'ai mis le dossier SDL contenant include/lib dans le dossier codeblock et j'ai bien indiquer le chemin, j'ai bien mis les DLL.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      28 novembre 2015 à 19:04:08

                      D'après ton débogueur, c'est un problème de std::vector :p .

                      Je suspecte plutôt ton tableau dynamique de tableau dynamique :euh: .

                      • Partager sur Facebook
                      • Partager sur Twitter
                        28 novembre 2015 à 19:08:00

                        Peut être qu'il y a un problème avec sa mais encore une fois j'ai le problème mais avec le code de base donné lors de la création d'un projet SDL qui fonctionne parfaitement bien.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          28 novembre 2015 à 19:18:31

                          essaye de redémarrer ton PC, ça résout souvent les problèmes :p .

                          -
                          Edité par Anonyme 28 novembre 2015 à 19:19:12

                          • Partager sur Facebook
                          • Partager sur Twitter
                            28 novembre 2015 à 19:46:26

                            Je l'ai déjà fait au moins une dizaine de fois :s
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              28 novembre 2015 à 19:50:13

                              Tes autres programmes marchent ? (Application console, Navigateur ...)
                              • Partager sur Facebook
                              • Partager sur Twitter
                                28 novembre 2015 à 20:29:33

                                Oui, si je fais une application console avec codeblocks, le programme se lance très bien, le problème vient de la SDL mais je vois pas d'où.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  28 novembre 2015 à 22:24:19

                                  Debuguer qui se lance = le programme build et link correctement. Donc pas d'erreur de syntaxe ou de dll. Donc sois tu as trouvé un bug dans la SDL (peu probable, tu sembles faire des choses de base avec), soit il y a un problème dans ton code. Et comme tu ne montres pas tout ton code, on peut pas savoir.

                                  HS 1 : a part le vector, ton code est du C (dans la philosophie)

                                  HS 2 : vector de vector, passé en copie en argument ET en retour de fonction, à chaque fois que tu appelles une fonction ? Heureusement que le C++ est un langage performant, cela permet souvent de compenser les erreurs des devs.

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    29 novembre 2015 à 9:14:09

                                    Salut, merci pour ta réponse.

                                    Effectivement il y a surement plusieurs erreurs dans mon code, c'est mon premier vrai programme, j'ai commencé la programmation cette année. C'est compliqué de montrer tout mon code car il y a d'autres fichiers assez long et sa prendrait pas mal de place dans le post.

                                    Mais le problème est qu'il y a deux jours tout fonctionnait parfaitement, aucune erreur rien, nickel, j'ai éteint mon ordi, je l'ai rallumé et là j'ai eu ce problème impossible de lancer le programme. Et je n'ai strictement pas touché au code entre ces deux moments.

                                    Et le plus étonnant c'est que si je crée un projet SDL avec codeblocks, il donne un code de base qui affiche une fenêtre avec l'icone de codeblocks, mais ce programme me donne le même problème.

                                    Donc sa ne vient pas du code, de plus j'ai réinstallé codeblocks, donc à priori sa ne vient pas de codeblocks, j'ai aussi re-téléchargé la SDL, donc à priori sa vient pas de la SDL. La seule chose que je vois c'est que le problème vient de windows où d'un problème de configuration de mon ordinateur.

                                    Vous avez une idée de ce qui pourrait poser ce genre de problème dans les configurations windows ?

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      29 novembre 2015 à 10:16:55

                                      (Personnellement, j'ai l'impression que tu as un virus dans ton PC :( .)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        29 novembre 2015 à 11:16:10

                                        Je sais pas, je vais essayer de recompiler sur un autre ordinateur, et je vous tiens au courant, mais bon franchement c'est déprimant là ^^ En plus je suis sûr que c'est un truc tout con. Pourtant j'ai beau me refaire le schéma dans ma tête je n'ai absolument pas touché à mon pc depuis la dernière fois que j'ai testé mon programme. Enfin bon...
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          29 novembre 2015 à 13:16:35

                                          Bon je viens de reformater mon pc et c'est bon sa fonctionne correctement >< Je comprends rien ! En tout cas merci beaucoup pour votre aide ! :)

                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          Code::Blocks crash lancement projet SDL

                                          × 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