Pour faire un leger complement de LittleWhite :
Citation:
j'ai depuis que j'ai téléchargé la dernière version de codeblocks , eu des problèmes avec mes codes SDL.
Je vais partir du fait que c'est la version 8.02.
Citation:
- d'abord c'est vraiment bizarre que code blocks ne demande pas avec quel language C ou C++ coder SDL, il lance automatiquement un main.cpp
Mouai, bon, c'est derangeant mais c'est pas la mort.
Pour changer d'un .cpp à un .c :
* Faire "Ctrl+shift+N" -> Cela créé un nouveau fichier. Il demande alors s'il faut l'integrer au projet en cours. Repondre oui.
* Enregistrer ce nouveau fichier en main.c
* Allez dans le controle de projet (Shift + F2 si non afficher)
* Selectionner par un click droit "main.cpp" et faire "remove file from project"
Voila, tu as main.c compilable en C. D'ailleurs, si tu fais click droit sur "main.c" puis propertie puis "Advanced", tu verra "compiler" = CC et non CPP.
Citation:
- mon 1er problème : je n'arrive pas à faire des fichiers séparés . h et .c, il me dit indefined reference to xyz alors que mes fichiers sont bien dans mon projet.
Comme precedemment dit, Ctrl+Shift+N en disant bien que tu veux l'ajouter au projet, puis bonne orthographe.
Citation:
- ensuite , il y a les 233 ou plus de warnings disant , enumeration value SDLK_xxx not handled in switch statement que je veux désactiver en vain.
Ca prouve que ton compilateur et un minimum regler, c'est rassurant. Mais perder cette habitude de m***e qui consiste a dire : "Oh, y'a plein de truc qui veulent rien dire, ca m'enerve, faut que je les desactive"
Si le compilateur dit quelque chose, c'est que, jusqu'a preuve du contraire, il y a bel et bien quelque chose !
Il serait extremement etonnant qu'apres des milliers d'utilisateur pendant plusieurs mois vous soyez les premiers qui detecte un "bug".
Bref, ton warning provient certainement d'une boucle typiquement comme celle ci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
switch(event.type)
{
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_ESCAPE:
continuer = false;
break;
}
break;
} |
Il faut, comme le dit LittleWhite rajouter des defaut, car tout les cas ne sont pas pris en compte (c'est ce que dit le compilateur).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
switch(event.type)
{
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_ESCAPE:
continuer = false;
break;
default:
break;
}
break;
default:
break;
} |
Voila, je pense que tout est dit.
Bonne soirée