Hier j'ai poster un sujet car je n'arrivais pas à m'en sortir avec la SDL 1.2 qui est utilisée ans le tutoriel de Mathieu Nebra. Ensuite on m'a proposé d'utilisé la SDL 2 et de suivre le tutoriel du Zeste Du Savoir, ce que j'ai fait. Mais de nouveau j'ai un gros problème car je ne peux pas ouvrir de fenêtre ... j'ai essayer de mille manières différentes, chercher sur google etc mais je n'ai rien trouvé . Si quelqu'un sait d'où vient mon problème ?
La meme chose exactement c'est pour ca que je croyais que le problème venait du code mais j'ai recopié un tutoriel donc je ne sais pas finalement d'ou vient le problème
Quand tu dis que ça ne change rien, ça veut dire que ton icône disparaît toujours au bout de trois secondes ? En ayant mit une boucle infinie ?
Dans ce cas, ton programme a planté plus tôt et donc un fprintf() s'est certainement déclenché. (Je ne sais pas me servir des IDE, mais si tu lances le programme via un terminal tu les verras les fprintf() )
je sais plus ou moins utilisé le terminal avec gcc etc mais je ne sais pas comment ajouter la bibliothèque en compilant via le terminal. Peut-tu m'expliquer stp
Je n'ai pas SDL sous la main et je n'ai pas non plus l'habitude de l'utiliser, mais tu peux lancer ton programme via le terminal de cette manière si je ne dis pas de bêtises :
J'ai écrit cette ligne en imaginant que tu as placé les fichiers.h dans un dossier include, et d'autres fichiers dans un dossier lib, tous les tutos que j'ai parcouru il y a quelques temps présentaient l'installation de cette manière.
Du coup on peut imaginer que ça donne quelque chose comme :
D'ailleurs si tu réussis à lancer ton programme de cette manière, tu peux facilement obtenir des informations précises concernant de possibles problèmes d'installation. Et tu peux utiliser des printf/fprintf pour tenter de voir où ça ne marche pas.
Evidemment, c'est à toi de positionner tes fichiers comme il le faut, et de positionner ta "session terminal" correctement.
Je pense tout comme @Gam, qu’il y a un problème à l’exécution (si le code compile et tout, c’est bien que la lib a été trouvé et tout). Essaye quand même avec ce code dans lequel la fenêtre est censée rester ouverte jusqu’à ce que l’utilisateur la fermes.
#include <stdlib.h>
#include <stdio.h>
#include <SDL2/SDL.h>
int main(int argc, char *argv[]) {
int status = EXIT_FAILURE;
SDL_Window *fenetre = NULL;
SDL_Event event;
// Initialisation + vérification de la SDL : VIDEO.
if (SDL_Init(SDL_INIT_VIDEO) != 0 ) {
fprintf(stdout,"Échec de l'initialisation de la SDL : %s\n", SDL_GetError());
goto quit;
}
// Création fenêtre.
fenetre = SDL_CreateWindow("Tuto SDL 2.", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN);
if(fenetre == NULL) {
fprintf(stderr, "Impossible de créer la fenêtre : %s\n", SDL_GetError());
goto quit;
}
do {
SDL_WaitEvent(&event);
}while{event.type != SDL_QUIT};
SDL_DestroyWindow(fenetre);
status = EXIT_SUCCESS;
quit:
// Quitter SDL.
SDL_Quit();
return status;
}
@Gam merci beaucoup de l'attention que tu porte a mon problème je suis en train d'essayer de compiler avec le terminal.
Deuxièmement, j'ai lancer le programme que tu m'as donné @yo@n97one et la fenêtre s'ouvre !!! je suis en train d'essaye par contre je ne sais pas pk donc ca ne résoud mon problème qu'a moitié :/
PS : j'ai juste changer les {} que tu avais mis après le do{}while par des ()
PPS :
Last login: Fri Jan 13 14:57:48 on ttys001
You have mail.
MacBook-Pro-de-X:~ X$ cd desktop
MacBook-Pro-de-X:desktop X$ cd programmer
MacBook-Pro-de-X:programmer X$ cd "programmer en c"
MacBook-Pro-de-X:programmer en c X$ cd "test sdl2"
MacBook-Pro-de-X:test sdl2 X$ cd "test sdl2"
MacBook-Pro-de-X:test sdl2 X$ chmod +x main.c
MacBook-Pro-de-X:test sdl2 X$ sudo ./main.c
Password:
./main.c: line 1: //: is a directory
./main.c: line 2: //: is a directory
./main.c: line 3: //: is a directory
./main.c: line 4: //: is a directory
./main.c: line 5: //: is a directory
./main.c: line 6: //: is a directory
./main.c: line 7: //: is a directory
./main.c: line 13: syntax error near unexpected token `('
./main.c: line 13: `int main(int argc, char *argv[]) {'
MacBook-Pro-de-X:test sdl2 X$
C'est ce que la console me donne comme erreur quand je lance avec le ./main.c comme tu m'as conseiller
- Edité par ThomasBrose 13 janvier 2017 à 15:03:12
Deuxièmement, j'ai lancer le programme que tu m'as donné @yo@n97one et la fenêtre s'ouvre !!! je suis en train d'essaye par contre je ne sais pas pk donc ca ne résoud mon problème qu'a moitié :/
PS : j'ai juste changer les {} que tu avais mis après le do{}while par des ()
Je l’avais écrit à la va-vite et sans vérifier, donc il y avait sûrement des erreurs oui.
Sinon, j’ai cherché ce qui pouvait causer ton problème et j’ai trouvé ce sujet et j’ai vu ce message.
You have to load a bitmap image, or display something on the window, for Xcode to start displaying the window.
Ça expliquerait pourquoi la fenêtre ne s’affiche 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.
#ThomasBrose#
#ThomasBrose#
#ThomasBrose#
#ThomasBrose#
#ThomasBrose#
#ThomasBrose#
#ThomasBrose#