Partage
  • Partager sur Facebook
  • Partager sur Twitter

la console sous SDL

Ne peut-on vraiment pas utiliser la console avec SDL sous windows ?

Sujet résolu
    7 juin 2006 à 16:10:41

    Salut @ tous

    Voila je souhaite coder un programme où j'utilise des connexions réseau.
    remram44 m'a conseillé sur un autre post d'utiliser SDL_net , pas de problèmes, les sockets et tout ça je vais me débrouiller :p (enfin j'espère ...).

    Mais pour commencer j'aimerai que mon programme s'exécute en console (avec des printf() et des scanf() entre autre). Et là c'est le drame...
    Même sans initialiser la SDL, l'affichage bascule vers le fichier sdtout.txt dés lors que la ligne suivante est présente:
    #include <sdl/sdl.h>



    Je ne me sent pas vraiment le courage de coder quelque chose avec SDL_ttf (émuler une console dans une fenêtre graphique, quelle idée !! ), alors comment faire ???

    Bien sur je suis obligé de garder la SDL à cause de SDL_net (sinon ç'aurait été trop facile).
    Avez vous une idée, ou bien suis-je obligé de passer par SDL_ttf malgré tout ?

    Merci de vos réponses
    • Partager sur Facebook
    • Partager sur Twitter
      7 juin 2006 à 16:28:12

      Tu veux faire quoi comme programme ?
      Sinon, il existe SDL_terminal ou SDL_console qui devrait répondre à tes besoins (voir sur le site officiel).
      Enfin, tu peux passer par les sockets classiques (winsock sous Windows).
      • Partager sur Facebook
      • Partager sur Twitter
        7 juin 2006 à 16:29:44

        fait une appli console et pas win32
        • Partager sur Facebook
        • Partager sur Twitter
          7 juin 2006 à 16:31:07

          Meme en faisant un projet console ça sera redirigé, tu pourras inputer mais pas outputer :
          http://www.libsdl.org/faq.php?action=listentries&category=4#85
          • Partager sur Facebook
          • Partager sur Twitter
            7 juin 2006 à 16:50:29

            Mon idée c'est de faire une sorte de client IRC (en fait juste pouvoir envoyer des lignes de commandes au serveur et pouvoir afficher ce qu'il m'envoie)

            Mon programme est déja en projet console.

            Heu concernant SDLterminal et SDLconsole, ainsi que les sockets classiques, pourquoi pas (il faut juste que j'y jettes un coup d'oeil merci) mais on verra après mon bac si il faut tout réapprendre hein !!!!!

            Merci des tuyaux, je vous tiens au courant
            • Partager sur Facebook
            • Partager sur Twitter
              7 juin 2006 à 17:00:53

              Citation : Kayl

              Meme en faisant un projet console ça sera redirigé, tu pourras inputer mais pas outputer


              image
              le code sur l'image n'est pas là à l'exécution, c'est juste pour montrer le code que j'ai mis.
              • Partager sur Facebook
              • Partager sur Twitter
                7 juin 2006 à 17:32:27

                Et si tu lance l'exe directement a partir d'une console ?
                • Partager sur Facebook
                • Partager sur Twitter
                  7 juin 2006 à 17:34:54

                  çà marche aussi.
                  C:\Documents and Settings\Alexander\Bureau>sdlconsole.exe
                  debut SDL
                  arret SDL

                  C:\Documents and Settings\Alexander\Bureau>

                  ps : je suis sous VC++ 2003
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 juin 2006 à 10:57:40

                    heu minirop explique moi là !!!

                    C'est exactement ce que je veux faire !!!
                    Vous croyez que ça ne marche qu'avec VC++2003, ou alors tu as une version spéciale de la SDL (j'ai la 1-2-9, c'est à dire que ce n'est pas celle qui est sortie y a pas longtemps et qui a été l'objet d'une news dans le SDZ) ?
                    Je sens qu'on se rapproche de la vérité ...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      8 juin 2006 à 13:53:45

                      saroumane essaie de lancer ton prog directement a partir de la console.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 juin 2006 à 15:48:16

                        XT95 j'ai essayé et rien ne s'affiche !!

                        Mais j'aimerai bien comprendre comment fait minirop !!
                        • Partager sur Facebook
                        • Partager sur Twitter
                          8 juin 2006 à 15:55:36

                          Il utilise la version buildée pour Visual. Et _si ça se trouve_ elle a été buildée avec le NO_STDIO_REDIRECT comme mentionné dans le lien donné plus haut :
                          http://www.libsdl.org/faq.php?action=listentries&category=4#85

                          Quoiqu'il en soit ce n'est PAS le cas de la version Mingw et c'est donc à toi de la rebuilder (SDL) si tu souhaites utiliser les io correctement.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 juin 2006 à 14:37:36

                            La rebuilder ? Houlala...

                            Bon j'ai cherché un peu dans ton lien, j'ai téléchargé les sources de la SDL et j'ai repéré un fichier dans l'archive:

                            \src\main\win32\SDL_win32_main.c

                            Dedans il y a une ligne
                            /* The standard output files */
                            #define STDOUT_FILE     TEXT("stdout.txt")
                            #define STDERR_FILE     TEXT("stderr.txt")

                            #ifndef NO_STDIO_REDIRECT
                            # ifdef _WIN32_WCE
                              static wchar_t stdoutPath[MAX_PATH];
                              static wchar_t stderrPath[MAX_PATH];
                            # else
                              static char stdoutPath[MAX_PATH];
                              static char stderrPath[MAX_PATH];
                            # endif
                            #endif



                            D'après ce qui est dit dans le lien, il est juste nécessaire de recompiler ce fichier SDL_main.c .
                            http://www.libsdl.org/pipermail/sdl/2002-November/050285.html

                            Mais ou dois-je taper
                            #define NO_STDIO_REDIRECT
                            ?
                            Dans SDL_win32_main.c, dans SDLmain.h, ailleurs ?

                            Et aussi une question de Zéro : comment on fait pour recompiler ce genre de code sous code::blocks sous windows? Parce que si je crée un projet, au final (au mieux) j'aurai un exécutable .exe alors que ce que je veux (si j'ai tous suivi) c'est un fichier .a !

                            Heu j'avoue que sur ce coup là mon ami google ne m'a pas beaucoup aidé !!!

                            Peut etre devrais-je créer un nouveau topic pour cette question ?


                            Merci de vos réponses
                            • Partager sur Facebook
                            • Partager sur Twitter
                              12 juin 2006 à 18:59:39

                              siouplait personne ne veut répondre à mon post ?
                              • Partager sur Facebook
                              • Partager sur Twitter
                              Anonyme
                                12 juin 2006 à 19:06:02

                                heuu alors la c'est fort! o_O

                                je vous jure que je n'est pas posté ce message! o_O

                                ou ya un bug ou je bug.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  12 juin 2006 à 19:52:47

                                  heu charly90, lit la discussion avant de poster...

                                  Moi je veux savoir comment on fait pour compiler une bibliothèque, c'est tout !
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    29 juin 2006 à 15:30:31

                                    Bon finalement j' ai fini par émuler une console sous la fenetre graphique SDL !!!

                                    avec un tableau de tableau de char !!!
                                    C'était du boulot, gérer les blits, avec un décalage à chaque fois qu'une nouvelle chaine arrivait ...

                                    Enfin bon merci de votre aide

                                    @+
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    la console sous 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