Partage
  • Partager sur Facebook
  • Partager sur Twitter

SDL sur macOS

Je n'arrive pas à compiler SDL

Sujet résolu
    2 mars 2023 à 13:45:32

    Bonjour, j'aimerais apprendre la programmation avec la librairie SDL en C. Je l'ai installé grâce à la commande "brew install sdl2". Cependant, je ne sais pas quoi inclure dans mon fichier .c, est-ce que vous pouvez m'aider ?
    • Partager sur Facebook
    • Partager sur Twitter
      2 mars 2023 à 19:36:44

      Hello,

      Je ne connais pas osx ni ton environnment de développement, mais dans ton code tu devrais simplement mettre #include <sdl.h>

      -
      Edité par edgarjacobs 2 mars 2023 à 19:39:21

      • Partager sur Facebook
      • Partager sur Twitter

      On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

        3 mars 2023 à 17:02:24

        J'ai essayé mais j'ai cette erreur :

        Je compile avec la commande 
        gcc main.c

        (PS : Je suis sous macOS Ventura)

        -
        Edité par TristanPichard1 3 mars 2023 à 17:03:49

        • Partager sur Facebook
        • Partager sur Twitter
          3 mars 2023 à 18:41:34

          C'est #include <SDL.h>, mais il faudrait peut être déjà commencer par donner le chemin d'include à gcc, et aussi lier la librairie pour le linker... En bref ça marche comme avec n'importe quelle librairie C du monde, le problème étant que tu n'as pas appris à te servir de ton compilateur et ton linker, ou d'un build system (genre Makefile pour débuter par exemple, ou CMake).
          • Partager sur Facebook
          • Partager sur Twitter
            6 mars 2023 à 8:56:57

            Utilise CMake pour trouver la bibliothèque (avec find_package(SDL2)) ou alors utilise les outils comme pkg-config.

            clang test.c $(pkg-config --libs --cflags sdl2)



            • Partager sur Facebook
            • Partager sur Twitter

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

              6 mars 2023 à 11:10:22

              Merci pour vos réponses, j'ai résolu le problème en faisant un Makefile avec ces flags : `CFLAGS = -Wall -Wextra -std=c11 -I/usr/local/include/SDL2

              Au plaisir de se revoir dans d'autres sujets ;)


              • Partager sur Facebook
              • Partager sur Twitter
                6 mars 2023 à 15:22:38

                Utilise pkg-config au lieu de balancer des flags au hasard, c'est exactement à ça que sert cet outil. D'autant plus que SDL2 rajoute parfois des defines et des bibliothèques en plus en fonction du système (exemple SDL_main).

                De plus, CFLAGS est une macro Make destinée à l'utilisateur. Si un utilisateur lance make en faisant

                make CFLAGS="-O0"

                Alors tes includes auront disparu. Si tu te bases sur GNU make et que tu te fiches de la portabilité alors tu peux faire :

                CFLAGS += $(shell pkg-config --cflags sdl2)
                LIBS += $(shell pkg-config --libs sdl2)




                -
                Edité par markand 6 mars 2023 à 15:28:01

                • Partager sur Facebook
                • Partager sur Twitter

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

                SDL sur macOS

                × 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