Bonjour,
Les librairies SDL ont leur propre sortie standard, stdout.txt.
y a t'il quelqu un parmi vous qui a deja reussi a faire en sorte que tout n aille pas dans le stdout.txt?
merci
Bonjour,
Les librairies SDL ont leur propre sortie standard, stdout.txt.
y a t'il quelqu un parmi vous qui a deja reussi a faire en sorte que tout n aille pas dans le stdout.txt?
merci
Cela dépend de l'OS que tu utilises et de comment tu définis ton projet.Envoyé par ankou82
Voir ici pour une solution sous Visual:
http://www.developpez.net/forums/sho...57&postcount=4
Jc
a oui merci, j avais vu mais malheureusement je code sous devc++
ca me fatigue j avance a rien, ya tjs quelque chose qui e va pas
ça ne viens aps de SDL mais de l'OS et des options de projet
- FAQ Jeux - FAQ SDL - FAQ DirectX - FAQ OpenGL - FAQ 3D
- Tutoriels Jeux - Outils
- Mes tutos : http://loka.developpez.com - tuto sdl
J ai mis mon projet en mode console, ensuite je ne vois pas ce que je peux faire.
t'as regardé là :
http://www.libsdl.org/faq.php?action...&category=4#85
?
Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum
ah, ben on m'a devancé... je voulais mettre le lien ce soir une fois rentrée chez moi.
Il n'y a plus qu'a attendre ankou82 pour qu'il nous dise si ça a regler son problème ou non
- FAQ Jeux - FAQ SDL - FAQ DirectX - FAQ OpenGL - FAQ 3D
- Tutoriels Jeux - Outils
- Mes tutos : http://loka.developpez.com - tuto sdl
bonjour bonjour
enchainté mrduchnok je pense que l on se connais si tu as fais l iut de lannion!!!
par contre je viens de rentrer la je regarderai ca au taff demain matin :p
merci beaucoup
oui oui j'étais bien à Lannion, j'étais pas sûr que c'était toi, mais y'en a pas des masse avec ce pseudo là ;-)
ça a résolu ton soucis avec la FAQ SDL ?
Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum
Pour le moment non, je ne vois pas vraiment comment m'y prendre.
Recompiler la librairie... j ai eu la bonne idée d installer la librairie avec le package manager
et je vois pas trop quoi faire avec le sdl_nostdio, je trouve ca etrange qu il n'y est rien de prevue de beaucoup plus simple.
tu l'définis et tu recompile ton projet, et ça fonctionne toujours pas ?If you define "NO_STDIO_REDIRECT" and recompile SDL, I think it will fix the problem
Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum
Non, il faut recompiler la bibliothèque SDL. C'est quelque chose qui a été fait pour les utilisateurs windows.Envoyé par MrDuChnok
shenron a fait remarquer que sous Visual, ils n'ont pas ce problème si tu déclares le projet en mode console.
Je vois 4 solutions:
- Recompiler SDL
- Changer d'EDI
- Changer d'OS
- Afficher dans la fenêtre les infos que tu veux...
Jc
Comme l'a dit fearyourself, la seule façon d'empecher la creation des fichiers stderr.txt/stdout.txt est de recompiler la bibliotheque en definissant NO_STDIO_REDIRECT
donc tu ajoutes : #define NO_STDIO_REDIRECT dans SDL.h :
Tu doit aussi faire bien attention à ce que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 /* The standard output files */ #define STDOUT_FILE TEXT("stdout.txt") #define STDERR_FILE TEXT("stderr.txt") // *** ADD THIS TEXT BEFORE THE #ifndef BELOW *** #define NO_STDIO_REDIRECT #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
*-mwindows n'est pas dans les options de projet
*-lsdlmain de même
*ajouter SDL_win32_main.c au projet
*ajouter -Dmain=SDL_main dans les options du compilateur
sinon il me semble qu'il y a aussi une astuce du genre :
#ifdef main
#undef main
#endif
avant la fonction main (c'est pas propre mais ça evite de recompiler la bibliotheque ^^).
Tu peux aussi essayer un truc de ce genre (il me semble que ça marchais avec la version 1.2.7 de SDL donc peut être superieur aussi) :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 freopen(NULL,"w",stdout); freopen(NULL,"w",stderr);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 freopen("CON","w",stdout); freopen("CON","w",stderr);
- FAQ Jeux - FAQ SDL - FAQ DirectX - FAQ OpenGL - FAQ 3D
- Tutoriels Jeux - Outils
- Mes tutos : http://loka.developpez.com - tuto sdl
Bonjour,
ca marche tres bien, merci loka pour cette solution
De rien
- FAQ Jeux - FAQ SDL - FAQ DirectX - FAQ OpenGL - FAQ 3D
- Tutoriels Jeux - Outils
- Mes tutos : http://loka.developpez.com - tuto sdl
Ce serait bien de spécifier pour les autres ce qui a marché...Envoyé par ankou82
Jc
Ce qui a marché est en faite dans le titre du sujet :
la redirection de la sortie standard des librairie SDL, car SDL a sa propre sortie standard a savoir un fichier texte : stdout.txt
Pour mon cas le script C que je realise doit fonctionner en tant que cgi, si la redirection n'est pas faite le browser ne voit pas les informations qui lui sont envoyé.
Je vais tenter par une autre approcheEnvoyé par ankou82
Plusieurs solutions ont été proposées pour résoudre le problème, laquelle as-tu utilisé pour résoudre ton problème...
Jc
A ok, désolé je n'avais cerné ta question.
j ai utilisé la methode du define de NO_STDIO_REDIRECT.
je n'ai par contre pas redefinit cette variable dans le SDL.H mais dans le SDL_win32_main.c comme la montré loka.
Envoyé par loka
Salut à tous,
Sur la localisation des freopen, l'article sur libsdl a été complété
http://www.libsdl.org/cgi/docwiki.cgi/FAQ_20Console
Ca marche seulement si les freopen sont en début de code, c'est ce que j'ai constaté avec SDL 1.2.10 - mingw et le prog testgl fourni avec la distrib.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager