Partage
  • Partager sur Facebook
  • Partager sur Twitter

[HELP] SDL2 Debian ne fonctionne pas

    8 novembre 2019 à 20:49:59

    Bonsoir,

    Afin de s'assurer de bien m'expliquer (Windows 10) :

    1- J'ouvre Windows PowerShell

    2- Je fais la commande "bash", je reçois l'adresse "https://aka.ms/wslstore" qui, une fois entrée dans la barre d'adresse de mon navigateur (google chrome) me propose l'ouverture de Windows Store.

    3- J'installe "Debian", je le lance, j'attends que son initialisation soit terminée et j'entre un nom d'utilisateur et son mot de passe comme demandé.

    4- Je fais les commandes "sudo apt update" "sudo apt upgrade" "sudo apt install gcc" et "sudo apt install libsdl2-dev"

    5- Je crée un "main.c" :

    #include <SDL2/SDL.h>
    #include <stdio.h>
     
    int main( int argc, char* args[] )
    { 
        SDL_Window *window;
    
        if (SDL_Init(SDL_INIT_VIDEO) != 0)
    	{
    		printf("Could not init SDL: %s\n", SDL_GetError());
            return 1;
    	}
    
        window = SDL_CreateWindow(
            "An SDL2 window",                  // window title
            SDL_WINDOWPOS_UNDEFINED,           // initial x position
            SDL_WINDOWPOS_UNDEFINED,           // initial y position
            640,                               // width, in pixels
            480,                               // height, in pixels
            SDL_WINDOW_OPENGL                  // flags - see below
        );
    
        if (window == NULL)
    	{
            printf("Could not create window: %s\n", SDL_GetError());
            return 1;
        }
    
        SDL_Delay(3000);
    
        SDL_DestroyWindow(window);
    
        SDL_Quit();
        return 0;
    }

    6- Je fais la commande "gcc main.c `sdl2-config --cflags --libs`"

    7- Je fais la commande "./a.out"

    Et là, ça ne fonctionne pas en recevant ces deux erreurs :

    error: XDG_RUNTIME_DIR not set in the environment.
    Could not init SDL: No available video device

    -
    Edité par LotusBleu6 8 novembre 2019 à 20:52:14

    • Partager sur Facebook
    • Partager sur Twitter
      12 novembre 2019 à 14:00:18

      Salut

      Ton problème vient de WSL qui ne supporte pas les applications graphiques . Il faut que tu installes un serveur X ( Voir ici ) .

      Une question : pourquoi ne pas utiliser la version de SDL pour Windows ?

      A plus

      • Partager sur Facebook
      • Partager sur Twitter
        15 novembre 2019 à 0:35:45

        Salut

        Merci pour ta réponse, je vais de ce pas installer un serveur X.

        Je l'ai fait fonctionner avec Visual Studio 2019 mais plusieurs fonctions de base C manquaient (open, read, write, etc.)

        • Partager sur Facebook
        • Partager sur Twitter
          15 novembre 2019 à 9:04:36

          Utilise SDL sur Windows nativement, X est voué à disparaitre et de plus n'est pas spécialement conçu pour fonctionner de la sorte. C'est un peu du bricolage de travailler comme ça.

          Par ailleurs, la convention d'include de SDL c'est SDL.h, pas de répertoire parent.

          • Partager sur Facebook
          • Partager sur Twitter

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

            15 novembre 2019 à 11:42:07

            @LotusBleu6 : si tu utilises des fonctions spécifiques à UNIX (genre open, read ... qui ne sont pas du tout des fonctions de base du C ) alors forcement  ça va coincer avec Visual Studio .  Et comme SDL est normalement multi-plateforme , il faut que tu revois ton code pour que ça compile sous VS .

            A plus

            • Partager sur Facebook
            • Partager sur Twitter
              15 novembre 2019 à 11:46:46

              X est voué à disparaitre

              l'espèce humaine aussi; on va quand même continuer à faire des enfants.

              :lol:

              • Partager sur Facebook
              • Partager sur Twitter

              Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

                15 novembre 2019 à 13:50:45

                dantonq a écrit:

                X est voué à disparaitre

                l'espèce humaine aussi; on va quand même continuer à faire des enfants.

                :lol:


                À mon avis X va disparaitre bien avant, ce dernier est déjà passé en mode maintenance puisqu'une partie des développeurs sont partis pour créer wayland ;)
                • Partager sur Facebook
                • Partager sur Twitter

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

                [HELP] SDL2 Debian ne fonctionne pas

                × 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