Partage
  • Partager sur Facebook
  • Partager sur Twitter

impossible d'installer SDL2 CODE::BLOCK

cannot find lSDL2main et lSDL2

    24 avril 2022 à 17:43:16

    bonjour,

    Il excite déjà beaucoup de forum sur ce sujet, j'en ai lu beaucoup, et regardé beaucoup de vidéo/tuto.

    Mais après 3 jours de recherche je commence à baisser les bras...

    J'ai téléchargé le fichier SDL2-devel-2.0.20-mingw.tar.gz sur le site libsdl.org, et j'ai fait la manip suivante (en 32 et 64bits) :

    - Créé un dossier SDL à la racine C:\ dans lequel il y a les dossiers bin, include et lib.

    - Créé un nouveau Empty Projet sur CODE::BLOCK.

    - Dans Project build options Search --> directories : Compiler --> C:\SDL\include\SDL

                                                                                Linker --> C:`\SDL\lib

    Puis toujours dans build options Search --> Linker setting j'ai mis la commande suivante dans other linker options -lmingw32 -lSDL2main -lSDL2

    (j'ai aussi ensuite essayé dans link librairies juste à coté, avec les nom des fichier libmingw32.a libSDL2main.a libSDL2.a (avec et sans le .a). J'ai aussi essayé avec les chemin d'accès direct C:\SDL\lib\libSDL2main.a ... (mais je ne trouve pas le fichier libmingw32.a qui devrait être dans C:\Program Files\CodeBlocks\MinGW\lib\libmingw32).

    J'ai essayé cette manip sur Global Ciloiler Settings, mais toujours le même problème. j'ai aussi essayé de mettre les fichier lib, include, et bin (du SDL) directement dans le projet avec comme chemin d'accès sur CODE::BLOCK  .\lib et .\include mais encore le même problème.

    cannot find lSDL2main et lSDL2 en 32bits

    et 64bits c'est une autre erreur : undefined reference to 'WinMain'

    Je me tourne vers vous dans l’espoir de trouver d'une solution :)

    • Partager sur Facebook
    • Partager sur Twitter
      24 avril 2022 à 17:47:17

      J'avais le mêùe problème que toi

      j'ai fini par utiliser G++

      la, pas de problème pour linker les libs

      ---------------------------------------------------------------------------------------------------------------------------------------------

      EDIT:

      tiens sinon: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwiD8a-Nhq33AhVIzIUKHdi3AL8QFnoECBMQAw&url=https%3A%2F%2Fwww.codewithc.com%2Fhow-to-setup-sdl-in-codeblocks%2F&usg=AOvVaw0V2d4QNGfBHdGEwEhS6QKW

      -
      Edité par MathiasRubert 24 avril 2022 à 17:49:06

      • Partager sur Facebook
      • Partager sur Twitter
        24 avril 2022 à 17:53:08

        G++ n'est pas la même chose que MinGW ?

        Sinon j'étais entrain de regarder pour utiliser Visual Studio à la place de CODE::BLOCK...

        • Partager sur Facebook
        • Partager sur Twitter
          24 avril 2022 à 18:04:47

          si, je crois mais pour linker les libs sur code::blocks c'est chiant

          pour visual studio tu devras aussi linker des libs mais je pense que ce sera plus simple

          -
          Edité par MathiasRubert 24 avril 2022 à 18:05:22

          • Partager sur Facebook
          • Partager sur Twitter
            25 avril 2022 à 9:03:04

            Quitte à utiliser la toolchain GNU, autant utiliser msys2.org qui a l'avantage de fournir une palanquée de bibliothèques précompilés en plus de compilateurs récents. Vous pourrez aussi profiter de pas mal d'outils, IDEs modernes (comme Qt Creator) plus à jour que cette vieillerie de c::b.

            -
            Edité par markand 25 avril 2022 à 9:03:12

            • Partager sur Facebook
            • Partager sur Twitter

            git is great because Linus did it, mercurial is better because he didn't.

              25 avril 2022 à 13:42:16

              Après, il n'y a rien de compliquer à lier la lib SDL sous Code::Blocks. Il suffit de renseigner les dossiers lib et include dans l'onglet "search directory" dans les options projet et ajouter les fichiers lib a linker dans les options du projet "onglet linker". C'est tout ! C'est le même principe quelque soit la lib utilisée. Attention à ne pas mélanger 32 bits et 64 bits, l'erreur est fréquente depuis que Code:Blocks est livré avec un MinGW en 64 bits !
              • Partager sur Facebook
              • Partager sur Twitter
              ...
                25 avril 2022 à 13:47:02

                Salut,

                Les conseils de ce site (et d'autres) d'utiliser code::blocks sous Windows datent de 10/15 ans.

                Car à l'époque, Visual Studio était payant, et si tu voulais programmer gratuitement sous Windows, code::blocks était une bonne chose.

                J'ajoute qu'à l'époque, SDL était en version 1.2, et il me semble (a vérifier) que code::blocks gérait cela facilement. (avec un wizard qui va bien)

                Mais depuis il existe Visual studio express qui est gratuit, et bien plus à la pointe que code::blocks qui vieillit. 

                De plus, SDL est maintenant en version 2.0 et n'est plus compatible avec la 1.2. Est ce que les wizard de code::bloks ont suivi je ne sais pas.

                Donc si tu sous Windows, préfère Visual.

                • Partager sur Facebook
                • Partager sur Twitter

                Recueil de code C et C++  http://fvirtman.free.fr/recueil/index.html

                  26 avril 2022 à 17:04:16

                  hello,

                  Ce tuto marche chez moi :

                  Installer Code::Blocks et SDL2 (fredericgoset.ovh)

                  L'exemple donné de code n'est pas bon par contre (2 erreurs au niveau des #include), voici le code qui fonctionne chez moi :

                  #include <SDL2/SDL.h>
                  
                  int main(int argc, char* argv[])
                  {
                      SDL_Window *window;
                  
                      SDL_Init(SDL_INIT_VIDEO);
                  
                      window = SDL_CreateWindow(
                          "Test",
                          SDL_WINDOWPOS_UNDEFINED,
                          SDL_WINDOWPOS_UNDEFINED,
                          640,
                          480,
                          SDL_WINDOW_SHOWN
                      );
                  
                      SDL_Delay(3000);
                  
                      SDL_DestroyWindow(window);
                      SDL_Quit();
                      return 0;
                  }
                  


                  En effet, codeblocks est vieux et plus très pratique... Je suis passé sous visual studio community, et pour la lib graphique en C++ il y a aussi SFML qui fonctionne plutot bien je trouve ^^

                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 avril 2022 à 19:10:12

                    Merci beaucoup pour vos réponse.

                    Du coup je suis passé sous Visual Studio Code, plus agréable visuellement au passage. ^^

                    Il faut bidouiller un peux plus avec différentes installations C/C++, MinGW, Gnu... mais après avoir fait tout cela, la SDL fonctionne parfaitement du premier coupl !

                    "je conseil au personne qui on le même problème à passer sur VS du coup" ;-)

                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 mars 2023 à 15:52:36

                      bonjour à tous

                      Je suis débutant dans tout ce qui est informatique ( programmation etc)

                      je suis vite tous les tutos YouTube sur comment télécharger la SDL2 sur code blocks 20.03

                      mais ça ne marche pas !!!

                      lorsque j'exécute pour savoir si ça marche un nouvel onglet s'ouvre

                      (143 #define main    SDL_main)

                      (error conflicting types for 'SDL_main')

                      je ne sais pas comment régler ce problème

                      aidez-moi s'il vous plaît merci 

                      -
                      Edité par NazimHammiche1 2 mars 2023 à 15:56:58

                      • Partager sur Facebook
                      • Partager sur Twitter
                        2 mars 2023 à 17:18:31

                        >(error conflicting types for 'SDL_main')

                        A première vue, vous avez installé et "configuré" trop de SDL.

                        Il n'en faut qu'une par projet.

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                          2 mars 2023 à 22:05:07

                          comment ça vous avez installé et "configuré" trop de SDL

                          je viens de refaire la manipulation et j'ai toujours la même erreur

                          et je n'ai pas installer plusieurs fois SDL 

                          lorsque j'exécute

                          je dois faire quoi ?

                          • Partager sur Facebook
                          • Partager sur Twitter
                            3 mars 2023 à 0:24:21

                            Salut,

                            La capture d'écran que tu donnes te dit ce qui cloche (dans le commentaire), la fonction main doit être déclarée de la forme int main(int argc, char *argv[]).

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs

                            impossible d'installer SDL2 CODE::BLOCK

                            × 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