Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème SDL

    19 juin 2017 à 10:34:13

    Yop,

    Je rencontre un problème avec les librairies de la SDL sous windows.

    Lorsque je compile mon programme, il me dit :

    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2017 à 10:45:40

      Salut,

      La signature de ton main doit obligatoirement être :

      int main(int argc,char** argv)

      Même si tu ne te sers pas de argc et argv.

      As tu bien linké sdlmain.a ?

      • Partager sur Facebook
      • Partager sur Twitter

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

        19 juin 2017 à 11:08:07

        J'ai télécharger la sdl sur le site, puis j'ai déplacé le contenu de :

        • bin dans C:\MinGW\bin
        • include dans C:\MinGW\include
        • lib dans C:\MinGW\lib

        Je ne comprends pas le :

        As tu bien linké sdlmain.a ?

        • Partager sur Facebook
        • Partager sur Twitter
          19 juin 2017 à 16:55:52

          Peut-être qu'il te manque le drapeau/flag '-lmingw32' ?
          • Partager sur Facebook
          • Partager sur Twitter

          Mon site web de jeux SDL2 entre autres : https://www.ant01.fr

            20 juin 2017 à 8:51:45

            Warren79 a écrit:

            Peut-être qu'il te manque le drapeau/flag '-lmingw32' ?

            J'ai essayé et ça fait le même problème.

            Mais pourtant il trouve bien la lib de la SDL, parce que si j'enlève le flags -lSDL, il met dit :

            Référence indéfini vers SDL_Init
            Référence indéfini vers SDL_SetVideoMode

            Donc je ne comprends pas son :

            Référence indéfini vers SDL_WinMain@16

            Pour info, mon ordi est un 64 bits. 



            • Partager sur Facebook
            • Partager sur Twitter
              20 juin 2017 à 18:33:54

              Bonjour,

              Si ça peut t'aider , pour un petit projet , j'ai ce Makefile là sans les compilations des sources, mais avec l'étape de linkage :

              COMPDIR64 = H:\projets\programmation\compilateurs\mingw64_6.3.0
              
              CC = $(COMPDIR64)\bin\x86_64-w64-mingw32-gcc.exe
              LDFLAGS = -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -lSDL2_ttf
              CFLAGS = -Wall -Wextra -pedantic -O2
              STRIPFLAG = -s
              
              LIBMINGW = $(COMPDIR64)\x86_64-w64-mingw32\lib
              LDFILES = $(LIBMINGW)\libmingw32.a $(LIBSDL2)\libSDL2.a $(LIBSDL2)\libSDL2.dll.a $(LIBSDL2)\libSDL2_image.a $(LIBSDL2)\libSDL2_image.dll.a $(LIBSDL2)\libSDL2_ttf.a $(LIBSDL2)\libSDL2_ttf.dll.a
              LIBSDL2 = H:\projets\programmation\bibliotheques\SDL2\x86_64-w64-mingw32\lib
              INCSDL2 = H:\projets\programmation\bibliotheques\SDL2\x86_64-w64-mingw32\include\SDL2
              
              ALLOBJ = $(OBJDIR)\main.o $(OBJDIR)\utilisateur.o $(OBJDIR)\instructionsMenuPrincipal.o $(OBJDIR)\instructionsJeu.o $(OBJDIR)\contextes.o $(OBJDIR)\initialize.o $(OBJDIR)\levelButtons.o
              OBJDIR = objets64
              SRCDIR = sources
              
              EXEC_PATH = bin
              EXEC = OriginalMemory64.exe
              
              release: $(ALLOBJ)
              	$(CC) $(CFLAGS) -L$(LIBSDL2) -o $(EXEC_PATH)\$(EXEC) $(ALLOBJ) $(LDFLAGS) $(STRIPFLAG) $(LDFILES) -mwindows



              • Partager sur Facebook
              • Partager sur Twitter

              Mon site web de jeux SDL2 entre autres : https://www.ant01.fr

                20 juin 2017 à 19:09:51

                Salut,

                Mauvais choix de dossier pour la SDL2, il faut utiliser le contenu du dossier i686-w64-mingw32, pas celui de x84_64-w64-mingw32.

                Bonne continuation.

                • Partager sur Facebook
                • Partager sur Twitter

                Bonhomme !! | Jeu de plateforme : Prototype.

                  20 juin 2017 à 19:55:25

                  Salut,

                  @l'auteur: si ton sujet n'est pas résolu, je t'invite à jeter un œil à ma signature.

                  Bonne chance !

                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 juin 2017 à 21:29:53

                    Oui, sauf que je n'utilise pas codeblocks !
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 juin 2017 à 21:50:09

                      Re,

                      pas besoin d'utiliser code::blocks pour choisir le bon dossier.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Bonhomme !! | Jeu de plateforme : Prototype.

                        20 juin 2017 à 22:00:55

                        Salut,

                        Il te faut aussi lier SDLmain, donc gcc main.c lmingw32 -lSDLmain -lSDL. De plus je te conseille de passer à la SDL 2 (sortie depuis plus de quatre ans) et de compiler avec plus d’options (au moins -Wall).

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Tutoriel Ruby - Bon tutoriel C - Tutoriel SDL 2 - Python avancé - Faîtes un zeste, devenez des zesteurs
                          21 juin 2017 à 10:13:15

                          Ça fait plus de 3 ans que je bosse dessus. Je ne vais pas tout convertir en SDL2 :o

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Problème 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