Partage
  • Partager sur Facebook
  • Partager sur Twitter

[TUTO] Installer SDL avec CodeBlocks sous Windows

    8 septembre 2014 à 15:39:52

    Peux-tu montrer le code et l'erreur complète ? Parce que là, impossible de savoir quel fichier ou dossier il ne trouve pas.

    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2014 à 14:31:05

      Bonjour.

      J'utilise Code blocks ainsi que la SDL est j'ai réussit à le faire marcher en utilisant vos indications, donc pour un projet que je créer moi même.

      Ce que je voudrais savoir maintenant c'est comment lier mon projet à mon dossier SDL après l'avoir créer.

      En effet je travaille sur un projet informatique avec d'autres gens qui utilisent SDL aussi. Notre projet est open source (git hub) et je le récupère donc de là et le projet est déjà créer sans que j'ai pu le lier à mon dossier SDL, du coup ça ne marche pas et je ne sais pas comment faire, j'ai chercher dans les "build option" et autre, mais je trouve pas ou on peut indiquer la "base"...

      Merci d'avance pour votre réponse.

      • Partager sur Facebook
      • Partager sur Twitter
        17 décembre 2014 à 15:36:53

        Tu utilises SDL 1.2 ou SDL 2 ?

        Quand tu veux dire, indiquer la "base", c'est là où le dossier SDL est présent ?

        Quand tu as créé un projet avec CodeBlocks, as-tu créé un projet vide ou avec un template ?

        • Partager sur Facebook
        • Partager sur Twitter
          18 décembre 2014 à 13:36:58

          J'utilise SDL 1.2

          Je n'ai pas créé le projet, je l'ai récupéré via l'application de git hub pour windows...

          Oui c'est ça, comment je fait pour pouvoir utiliser la SDL dans ce projet que je n'ai pas créé moi même?
          La ça m'affiche une erreur sur la ligne ou j'inclus la SDL. 

          • Partager sur Facebook
          • Partager sur Twitter
            18 décembre 2014 à 18:37:51

            Tu nous parles d'un projet github mais tu ne nous donne pas le lien. Tu nous parles aussi d'une erreur mais si tu nous ne la donne pas (en plus du lien github pour avoir le code), ça va être difficile de t'aider ^^

            Sinon, une règle général : indique le chemin vers la(les) bibliothèque(s) à lier.
            Build options -> Search directories -> Linker. Clique sur "add" puis indiques le chemin vers le fichier SDL.a.
            De même pour les fichiers .h : Build options -> Search directories -> Compiler. Clique sur "add" et indiques le chemin vers les headers SDL.
            Ce sont des dossiers qu'il faut indiquer, pas des fichiers ;)

            -
            Edité par Escargotine 18 décembre 2014 à 18:44:38

            • Partager sur Facebook
            • Partager sur Twitter
              5 mai 2015 à 21:51:41

              Bonjour,

              Je rencontre également un problème pour la SDL. J'arrive à créer le projet sous CodeBlocks, j'ai bien le code de départ qui s'affiche. Mais quand j'essaye de le compiler, il me note une erreur à la ligne #include <SDL/SDL.h>, en me disant qu'il ne trouve pas le fichier. Pourtant, j'ai bien copié le fichier SDL.dll dans le dossier qui contient mon projet comme indiqué dans le tutoriel. A vrai dire, j'en ai tellement marre qu'à force, je l'ai copié dans tous les dossiers concernant de près ou de loin la SDL...

              Je précise que je suis sous Windows 7 64 bits, et j'ai bien vérifié d'avoir téléchargé les bons fichiers compatibles 64 bits.

              Merci d'avance pour votre aide!

              • Partager sur Facebook
              • Partager sur Twitter
                6 mai 2015 à 9:37:44

                Bonjour,

                Amusant, vous copiez une DLL, alors que le fichier qu'il ne trouve pas, c'est un .h. Ce n'est pas cohérent, si ?

                Sinon, pour ceux qui en ont trop marre, utilisez un template : http://jeux.developpez.com/telecharger/index/categorie/709/Templates

                C'est un projet tout prêt, complètement configuré, qu'il suffit de décompresser et hop, ça marche.

                • Partager sur Facebook
                • Partager sur Twitter
                  22 mai 2015 à 2:00:33

                  Bonsoir

                  codeblock ne reconnait pas #include <SDL/SDL.h> aidez moi svp!

                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 mai 2015 à 10:27:17

                    Utilisez le template proposé ci-dessus, au pire.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      23 mai 2015 à 8:53:41

                      cbon j ai reçu à surmonter le problème merci LittleWhite  

                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 juin 2015 à 14:08:53

                        <troll> De rien ! </troll>
                        • Partager sur Facebook
                        • Partager sur Twitter
                          6 juin 2015 à 17:47:01

                          Bonjour,

                          j ai ajouté la lib image.h a sdl mais ça ne marche pas...

                          des idées.

                          merci!

                          • Partager sur Facebook
                          • Partager sur Twitter
                            8 juin 2015 à 1:34:58

                            LittleWhite a écrit:

                            geekman00 a écrit:

                            Après avoir fait ça mon "main" est en C++. Qu'est ce que je dois faire pour qu'il soit en C? Merci!


                            A priori, le renommer en .c


                            LittleWhite a écrit:

                            Oui, changer l'extension.

                            Directement dans Code::Blocks.


                            J'ai le même problème, j'ai beau chercher, je n'arrive pas à changer l'extension directement dans Code::Blocks, et si on la change en fermant le projet et en allant renommer le fichier dans le dossier du projet, il devient illisible alors si quelqu'un peut m'aider, parce que j'aimerai essayer de faire le programme du Pendu du cours sur le langage C avec une interface graphique où on aurait l'image du bonhomme qui se pend au fur et à mesure, et un menu où on pourrait changer la difficulté, voir les meilleurs scores et d'autres trucs. Et j'ai pas envie d'apprendre le langage C++ pour faire ce programme, c'est prévu que je l'apprenne aussi mais plus tard, quand je maîtriserai suffisamment le langage C.

                            Sinon, j'ai pas de problème pour faire fonctionner la bibliothèque, c'est juste que j'aimerai l'utiliser en C.

                            EDIT : Je viens de trouver une solution, j'ai ajouté un nouveau fichier au projet (que j'ai pu appeler main.c) et j'ai supprimé main.cpp du projet et du dossier du projet, ça devrait fonctionner je pense, sinon pas de chance pour vous, vous me reverrez dans le coin avec mes questions.

                            -
                            Edité par nenette35 8 juin 2015 à 1:51:07

                            • Partager sur Facebook
                            • Partager sur Twitter
                              13 juin 2015 à 13:18:44

                              @nenettre35 : C'est exactement ce que je t'aurais conseillé de faire. Bonne chance pour la suite. Mais si tu as un problème qui concerne SDL mais pas l'installation de la SDL, crée un nouveau topique où tu expliques ton problème.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                27 juin 2015 à 12:31:53

                                Bonjour à tous !

                                J'ai bien suivit le tuto, mais j'ai toujours un problème quand je compile et lance mon projet SDl ('build and run' ou F9) : la console s'ouvre sans rien dedans et aucune fenêtre à l'horizon !

                                Est-ce que l'un d'entre vous aurait une idée d'où vient le problème ?

                                Merci d'avance !

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  12 juillet 2015 à 2:05:53

                                  Peut-être que tu as résolu le problème depuis, m'enfin je réponds au cas où.

                                  Tu peux poster le code que tu utilises ? As-tu bien configuré tes options de linkage ?

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    30 septembre 2015 à 17:16:40

                                    bonjours,

                                    je ne sait pas si quelqu'un me répondra étant donné que le dernier message ce topic a ete ecrit il y a plus d'un mois mais...

                                    j'ai un problème sur la sdl, C::B m'indique le message suivant : " undefined reference to "SDL_main"".

                                    gretano, c'est toi qui m'a conseillé de venir sur ce forum mais je n'y ai pas trouvé de solution.

                                    je vous met le code source au cas ou cela viendrait de celui ci :

                                    #include <stdio.h>
                                    #include <stdlib.h>
                                    #include <SDL/SDL.h>
                                    #include <SDL/SDL_image.h>

                                    int main()
                                    {
                                     int continuer = 1;
                                     SDL_Surface *ecran = NULL, *joueur = NULL, *map = NULL;
                                     SDL_Event event;
                                     SDL_Rect positionJoueur;
                                     SDL_Rect positionMap;

                                     SDL_Init(SDL_INIT_VIDEO);
                                     ecran = SDL_SetVideoMode(600, 600, 32, SDL_HWSURFACE | SDL_FULLSCREEN);

                                     map = IMG_Load("map.jpg");
                                     joueur = IMG_Load("joueur.jpg");

                                     positionMap.x=0;
                                     positionMap.y=0;

                                     positionJoueur.x=500;
                                     positionJoueur.y=400;

                                     while(continuer)
                                     {
                                      SDL_WaitEvent(&event);
                                      switch(event.type)
                                       case(SDL_KEYDOWN) :
                                        switch(event.key.keysym.sym)
                                        {
                                         case(SDLK_UP) :
                                          positionJoueur.y ++;
                                         break;
                                         case(SDLK_DOWN) :
                                          positionJoueur.y --;
                                         break;
                                         case(SDLK_LEFT) :
                                          positionJoueur.x ++;
                                         break;
                                         case(SDLK_RIGHT) :
                                          positionJoueur.x --;
                                         break;
                                         case(SDLK_ESCAPE) :
                                          continuer = 0;
                                         break;
                                        }
                                       break;
                                     SDL_Flip(ecran);
                                     SDL_BlitSurface(map, NULL, ecran, &positionMap);
                                     SDL_BlitSurface(joueur, NULL, ecran, &positionJoueur);
                                     }

                                     SDL_QUIT;
                                     return EXIT_SUCCESS;
                                    }

                                    quelqu'un peut m'aider?

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      30 septembre 2015 à 18:33:58

                                      Salut,

                                      Es-tu sûr d'avoir linké correctement la lib SDL ?

                                      Si tu utilises SDL 1.2.x, Code::Blocks te demandera (en ayant choisi de créer un projet SDL, à partir du template fourni) d'indiquer le chemin vers ton dossier SDL (dans le répertoire de Code::Blocks normalement). L'as-tu fait ?

                                      Pourrais-tu poster ton code entre balises (le petit bouton </>) s'il te plait. Il y a plusieurs erreurs dans ton code.

                                      Cordialement.

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        30 septembre 2015 à 19:00:00

                                        oui je pense avoir linké correctement la SDL.

                                        et en effet j' ai indiqué a C::B le chemin vers mon fichier SDL.

                                        et quelles sont les erreurs dans ce code?

                                        en apparence je ne trouve pas que ce message d'erreur devrais s'afficher.

                                        que puis-je faire pour régler ce problème, car sans cela, pas moyen de compiler.

                                        merci d'avance.

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          2 octobre 2015 à 14:01:13

                                          L'erreur qui s'affiche ne correspond pas à une erreur dans ton code, mais un problème dans l'édition des liens (le linker, qui rassemble les fichiers compilés (des fichiers.c compilés en .o ou des bibliothèques, en .dll sur Windows) en un fichier binaire).
                                          Concrètement, il cherche la définition de la fonction SLD_main mais ne la trouve pas. Je vais pas t'expliquer en détail parce que j'avoue ne pas vraiment savoir, mais SDL-1.2-x fait une sorte de bricolage avec la fonction main.

                                          Dans Project -> Build Options, onglet "Search direcotires". Dans le sous-onglet "Compiler", indique le dossier "include" dans le dossier SDL-1.2.x, dans le sous-onglet "Linker", indique le dossier "lib".

                                          Tu peux aussi indiquer directement les fichiers .dll dans l'onglet "Linker settings" : SDL.a et SDL_main.dll.a si je me souviens bien. Enfin, si t'es sur Windows.

                                          En ce qui concerne le code, édite ton poste et mets le code dans une balise code (bouton </>). Il manque des accolades pour ton 1er switch et tu ne libères pas la mémoire pour tes SDL_Surface *.

                                          PS : JE ME SUIS TROMPÉ : ce n'est pas les .dll que l'on peut indiquer dans l'onglet "Linker settings", mais les fichiers .a.

                                          -
                                          Edité par Escargotine 10 octobre 2015 à 21:57:05

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            2 octobre 2015 à 17:25:50

                                            oh oui exacte.

                                            je vais voir si cela fonctionne.

                                            :(

                                            cela ne fonctionne pas je ne sait plus comment faire!

                                            ce projet est extrêmement urgent si quelqu'un a une solution je suit preneur.

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              3 octobre 2015 à 11:08:02

                                              Bonjour ! Encore un noob qui n'arrive pas a paramétrer comme il faut SDL.

                                              Ma config : Windows 8 64bits, Code Blocks 13.12 installe en "full" avec Mingw-w64 installe dans program filesx86/codeblocks/, version \i686-5.2.0-posix-dwarf-rt_v4-rev0.

                                              Le petit test hello world fonctionne, donc a priori mon paramétrage est correct pour compiler du C.

                                              J'ai telecharge SDL 1.2.15, j'ai deplace le dossier SDL-1.2.15 dans program files x86\codeblocks a cote de mingw-w64 et le fichier ._SDL-1.2.15 dans le dossier code blocks, a cote des deux dossiers. Pour info, j ai pris la devel SDL-devel-1.2.15-mingw32, et le dll de SDL-1.2.15-win32-x64.

                                              Je cree un nouveau projet SDL "test3", et je dis au wizard que SDL location est C:\Program Files (x86)\CodeBlocks\SDL-1.2.15 (la ou il est quoi)

                                              Pas de soucis jusque la, le wizard me dit OK, il cree mon projet (je bloquais la avec la version 2.0.3 de SDL,  mais avec la 1.2.15 ca passe). Du coup je met SDL.dll dans le dossier du projet a cote de main.cpp

                                              J ouvre main.cpp, y a un joli petit code de test, je le build il me dit ok, 0 errors, 0 warnings, et quand je le lance, il me dit qu il n a pas pu demarrer le programme comme il faut(je traduis, mon pc est polonais), et renvoie 0xc000007b.

                                              Si l'un ou l'une d'entre vous pouvait me filer un coup de main, ca me serait tres utile, j'arriverai a faire tourner ces **** de programmes qu on me demande de faire en cours, j'arrive a pondre les algos mais pas a installer une bibliotheque. Frustrant.

                                              Desole pour le roman, je voulais juste etre precis, et merci d'avance !!

                                              Max.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                7 octobre 2015 à 15:10:25

                                                bon...

                                                puisque personne ne peut m'aider

                                                je vais essayer avec la 2.0.3

                                                j'espère que ca marchera.

                                                :'(

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  10 octobre 2015 à 15:27:00

                                                  youpi!!!

                                                  j'ai trouvé.

                                                  tout simplement une bête erreur de codage dans l'initialisation de mon main.

                                                  :))

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    10 octobre 2015 à 22:03:20

                                                    Ah oui c'est vrai, c'est classique. Avec la SDL, quand on a l'erreur "undefined reference to SDL_main", c'est un soucis au niveau de la déclaration du main. J'avais oublié ce détail.

                                                    @MaxRay, peux-tu poster ton erreur exact ? Copié/collé ou même un screenshot. Même si c'est en polonais, ça aiderai.

                                                    Pour configurer de façon propre un projet utilisant une bibliothèque, je conseille de suivre ce tuto (je préviens, c'est pas vraiment pour les newbies).

                                                    -
                                                    Edité par Escargotine 10 octobre 2015 à 22:38:08

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      15 décembre 2015 à 21:41:51

                                                      Slt à tous.

                                                      Ceci est pour ceux qui ont encore des difficultés pour installer la SDL sous Windows. bien au fait j'ai eu quelques soucis au début mais;

                                                      je viens de bien comprendre la marche à suivre comme l'explique M@théo21 dans le cours. et bien c'est aussi simple que ça :

                                                      Rendez vous sur le site de la SDL http://www.libsdl.org/ une fois dans le site; sur la colonne de gauche vous verrez 3 menus dont

                                                      Download dans ce dernier aller ouvrir SDL 1.2 puis regarder dans le sous menu "Development Libraries" et téléchargez l'archive

                                                      SDL-devel-1.2.15-mingw32.tar.gz qui contient tous les fichiers dont vous avez besoin. décompressez la et ouvrez le fichier décompressé

                                                      dans 7-Zip ou winrar. vous y trouverez le dossier SDL-1.2.15 que vous devez ensuite copier vers le dossier Codeblocks à cote des dossiers

                                                      MinGW et share. Enfin poursuivez calmement l'ouverture de votre projet SDL comme M@théo21 le dit dans le cours. je pense que ceci vous a

                                                      aidé.

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        24 janvier 2016 à 15:20:25

                                                        J'ai un message d'erreur lorsque je veux créer mon projet :

                                                        "The path you entered seems valid, but this wizard can't locate the following SDL's library file: SDLmain in it."

                                                        Je comprends pas, j'ai fait tout comme Gaetano a dit.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          26 janvier 2016 à 11:22:32

                                                          N'utilisez pas l'assistant pour créer votre projet. Faites un projet vide et configurez le par la suite, c'est mille fois mieux.
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            8 octobre 2016 à 18:04:03

                                                            Merci Gaetano-GX tu m'as sauvé !

                                                            Sinon pour ceux qui ont des problèmes, vérifiez que vous installez bien le fichier 32 bits si comme pour mon cas code::blocks est installé dans programfilesx86 (donc en 32bits), je crois que c'était la source de mon problème

                                                            -
                                                            Edité par NicolasVergne1 8 octobre 2016 à 18:07:14

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            [TUTO] Installer SDL avec CodeBlocks sous Windows

                                                            × 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