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 :

code blocks et SDL


Sujet :

SDL

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Points : 3
    Points
    3
    Par défaut code blocks et SDL
    bonjour à tous,
    j'ai depuis que j'ai téléchargé la dernière version de codeblocks , eu des problèmes avec mes codes SDL.
    - 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
    - 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.
    - 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.

    si quelqu'un peut m'aider j'en serais ravi , merci

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    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 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour et bienvenue,

    Lorsque vous dites, dernière version de Code::Blocks, c'est laquelle ?
    Sinon, je ne savais pas vraiment que Code::Blocks demandait le choix entre .c et .cpp.
    -> C'est un truc qui se change dans les paramètre du projet ( je me rappelle plus des menus précisément ).

    Votre autre problème .h et .c êtes vous bien sur de ne pas avoir fait d'erreur? ( Dans le sens, nom qui diffèrents ).

    Pour le dernier point, en rajoutant une règle default au switch() ça enlevera les warnings
    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.

  3. #3
    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 faire un leger complement de LittleWhite :

    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.

    - 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.

    - 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.


    - 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : 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
    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

  4. #4
    Membre éclairé
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Points : 842
    Points
    842
    Par défaut
    Citation Envoyé par aanas Voir le message
    - 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.
    C'est tout simplement dû au fait que tu compiles en C++ et pas en C
    Pour créer automatiquement un projet en C, tu peux créer un template avec C::B
    Plus tu pédales moins fort, moins t'avances plus vite.

Discussions similaires

  1. Réponses: 0
    Dernier message: 01/11/2008, 14h04
  2. Réponses: 2
    Dernier message: 13/06/2008, 23h42
  3. Réponses: 9
    Dernier message: 06/10/2007, 22h06
  4. probleme avec code::blocks et sdl
    Par notour dans le forum SDL
    Réponses: 2
    Dernier message: 17/05/2007, 11h14

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