IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Avoir la console avec SDL


Sujet :

SDL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 77
    Points : 30
    Points
    30
    Par défaut Avoir la console avec SDL
    Bonjour,

    J'aimerais savoir s'il est possible d'utiliser la console avec un programme graphique en SDL, pour pouvoir passer des données à ce programme.

    Si oui, comment faire ?


    merci.

  2. #2
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    Bonjour,

    Oui, tu peux faire en sorte d'avoir SDL et Console en meme temps.

    http://www.developpez.net/forums/d71...le-meme-temps/

    Reviens si la solution ne marche pas. (Et surtout, apres avoir cherché un minimum).

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 77
    Points : 30
    Points
    30
    Par défaut
    La recherche c'est déjà fait (comme toujours avant de poser une question).

    "Pour afficher la console, c'est une option dans les projets de ton EDI."

    justement, quelle est cette option dans code::blocks, je n'ai rien trouvé.

    Merci.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 399
    Points : 413
    Points
    413
    Par défaut
    dans les propriétés de ton projet -> build targets -> type
    Tu as "console application"
    SPARK
    Moteur de particule C++ opensource avec modules de rendu OpenGL, Irrlicht et SFML

  5. #5
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    Pour le lien, je pensais plutot a cette reponse :


    sous windows pour avoir la console avec SDL il faut faire des commandes/préprocessing spéciales SDL il me semble, sinon moi je l'ai en commentant la ligne #include <SDLmain.h> dans SDL.h et en ne linkant pas avec SDLmain mais que avec SDL (windows xp et vista)
    Si vous avez fait la recherche, pourquoi ne pas avoir mis en œuvre cette solution ?
    Sil elle ne marchait pas, pourquoi ne pas l'avoir signaler ?

    "J'ai fait des recherche et j'ai trouve différente solution. Parmi elle, on me demander de faire ceci :

    je l'ai en commentant la ligne #include <SDLmain.h> dans SDL.h et en ne linkant pas avec SDLmain mais que avec SDL (windows xp et vista)

    Cependant, cela ne marche pas. Comment faire , bla bla bla"


    Bref, c'est pas la mer a boire et ca evite qu'on vous prenne pour des gens cherchant la facilité, gens auquel on repond pas ou avec des liens.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 77
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par SofEvans Voir le message

    Si vous avez fait la recherche, pourquoi ne pas avoir mis en œuvre cette solution ?
    Sil elle ne marchait pas, pourquoi ne pas l'avoir signaler ?
    Parce que pour moi la solution c'était l'option de l'IDE.
    Et que je n'ai pas compris la réponse suivante vue que ça fait 1an que j'ai pas fait de C et de SDL.


    La méthode de Fifron m'affiche bien une console mais je ne peux rien afficher dedans avec des printf.


    Je suppose donc qu'il faut que je fasse les manipulations que tu as cité ?

    Si oui alors comment linker avec SDL et pas SDLmain ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 77
    Points : 30
    Points
    30
    Par défaut
    J'aurais bien fait remonter le topic mais il est déjà en haut

    C'est triste de voir le peu d'activité sur la section SDL

  8. #8
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 577
    Points
    218 577
    Billets dans le blog
    120
    Par défaut
    Ne critiquons pas la section SDL, car personne ne répond à votre sujet.

    SofEvans c'est interessé à votre cas, ce qui est déjà bien, vu qu'il apporte les bonnes réponses.

    Par contre, dans les options de l'IDE, c'est bien dommage que je n'ai pas Code::Blocks sous la main, car ça doit être un truc comme: menu Projet > Options du projet > Application console ( un truc à selectionner ).
    Après pour les printf ... je ne sais plus pourquoi ça fait ça.

    Normalement, dans un projet SDL, on link avec trois bibliothèques ( de mémoire, sdl , sdlmain et je sais plus l'autre ( à moins que ça soit sdl_image, mais pas de rapport ) ).
    Bref, dans les options de compilation on peut changer ceci, afin de retirer ou d'ajouter des bibliothèques.
    ( Menu Projet > un truc qui s'apelle build ou compilation ).

    J'oserai aussi dire, êtes vous sur que votre printf est executé .

    Et finalement, souvent les sorties de la SDL vont dans des fichiers ( temporaires ? ) appelée stdout et stderr. Regardez si vos messages ne serez pas là par hasard.

    Dans ce cas, je pense que la méthode d'enlever le
    #include <sdl_main.h> et sdl_main dans les bibliothèques à compiler, est une bonne chose.
    Pour la première partie, il faut juste rajouter // devant #include <SDLmain.h> dans le fichier SDL.h.
    Vous pouvez trouver le fichier avec une recherche de fichier, et la ligne avec une recherche du mot clé, dans le fichier.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    Ow, je viens de voir le post ...

    Je tombe de haut ...


    Auriez vous oubliez que nous avons une vie aussi ?



    Bref, pour le prinft, sous Code::Block avec SDL, il est redirige dans un fichier standart "stdout". Faite une recherche dans votre repertoire de travail si vous ne le trouvez pas.

    N'oubliez pas non plus qu'un printf n'est pas flushé tout de suite a moins d'avoir mis un '\n'.

    Pour avoir la console ET la fenetre, je vais essayer de le faire, mais ce n'est pas dit que je trouve. Alors soyez patient ! Et chercher de votre coté !

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 77
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Ne critiquons pas la section SDL, car personne ne répond à votre sujet.
    Je ne critique pas, je constate seulement que depuis que j'ai posté il n'y a pas eu d'autres messages.

    Citation Envoyé par LittleWhite Voir le message
    SofEvans c'est interessé à votre cas, ce qui est déjà bien, vu qu'il apporte les bonnes réponses.
    Ben oui, ai-je dis le contraire ?

    Citation Envoyé par LittleWhite Voir le message
    Par contre, dans les options de l'IDE, c'est bien dommage que je n'ai pas Code::Blocks sous la main, car ça doit être un truc comme: menu Projet > Options du projet > Application console ( un truc à selectionner ).
    Après pour les printf ... je ne sais plus pourquoi ça fait ça.
    Moi j'ai fait clique droit sur le projet->propriétés->onglet build targets->dans type j'ai choisis "console application"
    Citation Envoyé par LittleWhite Voir le message
    Normalement, dans un projet SDL, on link avec trois bibliothèques ( de mémoire, sdl , sdlmain et je sais plus l'autre ( à moins que ça soit sdl_image, mais pas de rapport ) ).
    Bref, dans les options de compilation on peut changer ceci, afin de retirer ou d'ajouter des bibliothèques.
    ( Menu Projet > un truc qui s'apelle build ou compilation ).
    Projet->build options->onglet linker settings et c'est vide, faut-il que je rajoute quelque chose ?

    Citation Envoyé par LittleWhite Voir le message
    J'oserai aussi dire, êtes vous sur que votre printf est executé .
    Oui pas de raison qu'il ne le soit pas

    Citation Envoyé par LittleWhite Voir le message
    Et finalement, souvent les sorties de la SDL vont dans des fichiers ( temporaires ? ) appelée stdout et stderr. Regardez si vos messages ne serez pas là par hasard.

    Dans ce cas, je pense que la méthode d'enlever le
    #include <sdl_main.h> et sdl_main dans les bibliothèques à compiler, est une bonne chose.
    Pour la première partie, il faut juste rajouter // devant #include <SDLmain.h> dans le fichier SDL.h.
    Vous pouvez trouver le fichier avec une recherche de fichier, et la ligne avec une recherche du mot clé, dans le fichier.
    J'ai bien un stdout.txt avec mes printf, c'est donc redirigé vers la sortie standard et non pas la console.

    J'avais déjà fais cette manipulation, mais ça ne change rien.
    Sauf que moi dans le SDL.h c'est #include "SDLmain.h" (ce qui semble plus logique)

    Citation Envoyé par SofEvans Voir le message
    Ow, je viens de voir le post ...

    Je tombe de haut ...
    Ah bon pourquoi ?
    Citation Envoyé par SofEvans Voir le message
    Auriez vous oubliez que nous avons une vie aussi ?
    Ben non, j'ai dit quelque chose qu'il ne fallait pas ?

    Citation Envoyé par SofEvans Voir le message
    Bref, pour le prinft, sous Code::Block avec SDL, il est redirige dans un fichier standart "stdout". Faite une recherche dans votre repertoire de travail si vous ne le trouvez pas.

    N'oubliez pas non plus qu'un printf n'est pas flushé tout de suite a moins d'avoir mis un '\n'.
    Oui c'est bien le cas comme je l'ai dis plus haut.
    Citation Envoyé par SofEvans Voir le message
    Pour avoir la console ET la fenetre, je vais essayer de le faire, mais ce n'est pas dit que je trouve. Alors soyez patient ! Et chercher de votre coté !
    Merci pour vos recherche, je cherche également de mon côté.


    Ce serait quand même étrange qu'on ne puisse pas avoir la console avec SDL

  11. #11
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 076
    Points : 2 328
    Points
    2 328
    Par défaut
    Citation Envoyé par Cpowa Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Ow, je viens de voir le post ...
     
    Je tombe de haut ...
    Ah bon pourquoi ?
    Sans vouloir ajouter de l'huile sur le feu, il ne s'est écoulé que 24h entre ton dernier post et son "up" maladroit ...

  12. #12
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 858
    Points : 218 577
    Points
    218 577
    Billets dans le blog
    120
    Par défaut
    [QUOTE]Projet->build options->onglet linker settings et c'est vide, faut-il que je rajoute quelque chose ?[QUOTE]

    Vérifiez bien ... car sur la gauche, vous avez la liste des projets ( souvent qu'un ) avec une entrée pour le debug, est une entrée pour le release. Par défault il selectionne le mode de compilation courant, mais comme on peut mettre des options pour le projet global ( ce qui est surement fait ) vous trouverez une liste pleine, dans la partie du projet global.

    Un code pas executé, il peut avoir plein de raison ... Simple double check :p

    [QUOTE]Sauf que moi dans le SDL.h c'est #include "SDLmain.h" (ce qui semble plus logique)[QUOTE]
    Veuillez m'excuser pour mes erreurs. Je n'ai pas vérifié la logique.
    Soit je comprends pas ce que vous dites ... soit je suis vraiment idiot.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  13. #13
    Futur Membre du Club
    Inscrit en
    Mai 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 1
    Points : 6
    Points
    6
    Par défaut
    Salutations

    j'ai été confronté au même problème que toi , et mon ami a trouvé une solution pour avoir la console , tu ajoutes seulement après le main():

    freopen("CON", "w", stdout);
    freopen("CON", "r", stdin);
    freopen("CON", "w", stderr);

    voila je viens de tester ça marche bien chez moi ( je peux faire des printf scanf dans la console )

    voila j'espère que ça répond à ta question =)
    ahh oui je voulais juste préciser que je programme avec code::blocks.

Discussions similaires

  1. [Eclipse 3]Avoir plusieurs consoles
    Par cooper_sunz dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 13/10/2006, 20h57
  2. Zone de texte avec SDL
    Par bobtux dans le forum OpenGL
    Réponses: 2
    Dernier message: 08/03/2005, 18h47
  3. avoir un champ avec une valeur numerique qui se decremente
    Par romeo9423 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 15/02/2005, 14h29
  4. [eclipse][plugin] Comment avoir une fenêtre avec focus
    Par relivio dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 07/04/2004, 15h54
  5. [Kylix] application console avec kylix 3 ?
    Par Hakim dans le forum EDI
    Réponses: 4
    Dernier message: 15/11/2002, 22h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo