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 :

Utilisation mauvaise de la SDL02 ? [SDL 2.0]


Sujet :

SDL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    juillet 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juillet 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Utilisation mauvaise de la SDL02 ?
    Bonjour,

    Je suis des cours, mais les instructions pour la SDL ne sont peut-être pas à jour, vu qu'aujourd'hui on utilise la SDL2. C'est la question que je me pose, car j'ai collé ses lignes de codes (à l'instructeur) et ça ne fonctionne pas.
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
     
    void pause();
     
    int main(int argc, char *argv[])
    {
        SDL_Init(SDL_INIT_VIDEO); // Initialisation de la SDL
     
        SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE); // Ouverture de la fenêtre
     
        pause(); // Mise en pause du programme
     
        SDL_Quit(); // Arrêt de la SDL
     
        return EXIT_SUCCESS; // Fermeture du programme
    }
     
    void pause()
    {
        int continuer = 1;
        SDL_Event event;
     
        while (continuer)
        {
            SDL_WaitEvent(&event);
            switch(event.type)
            {
                case SDL_QUIT:
                    continuer = 0;
            }
        }
    }
    Je suis donc parti à l'assaut d'autres tutos pour tout simplement ouvrir une fenêtre et pour installer la SDL2. J'ai trouvé plusieurs manières de faire... c'est exhaustif, n'empêche que l'include de la SDL2 est enfin reconnu. Mais quelque chose m'a alerté, les tutos américains utilisent beaucoup #include <iostream>, je l'ai essayé et ce n'est pas reconnu, pourtant dans les divers tutos ils venaient juste d'installer Codeblock, ça devrait être inclus, non ? Si quelqu'un sait pourquoi je ne l'ai pas... merci.

    Deuxièmement, c'est pour ça que je poste, je ne toujours pas ouvrir une fenêtre, en effet la commande "SDL_HWSURFACE" n'est pas reconnu, enfin, ou sinon c'est la fonction SDL_SetVideoMode qui ne marche pas.

    Je vous remercie par avance pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    février 2008
    Messages
    2 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : février 2008
    Messages : 2 172
    Points : 4 284
    Points
    4 284
    Billets dans le blog
    4
    Par défaut
    Bonjour.

    Copier/coller des bouts de code n'est pas forcément la meilleure démarche. La preuve en est que tu ne comprends pas la moitié des lignes copiées. iostream est une bibliothèque C++. Comme tu dois compiler en C le compilateur ne comprend pas.

    Pour utiliser une bibliothèque le meilleur moyen est de consulter la documentation officielle : Tutoriels SDL 2.0
    Utilisation de Glade avec Gtk+ - N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk

  3. #3
    Expert éminent
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    juillet 2013
    Messages
    3 825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : juillet 2013
    Messages : 3 825
    Points : 8 562
    Points
    8 562
    Par défaut
    Citation Envoyé par zeway Voir le message
    Si quelqu'un sait pourquoi je ne l'ai pas... merci.
    iostream est 1 entête C++ de la bibliothèque standard STL ("Standard Template Library")

    En C et C++, 1 des problèmes est le fait que les entêtes ont la même extension .h. Mais en C++, il y a des templates, des classes, la surcharge, ... qui ne compilent pas en C.
    C'est pour cela qu'il y a plusieurs stratégies :
    • s'en battre le steak
    • utiliser l'extension .hpp ... qui fait écho à l'extension .cpp (des sources)
    • retirer l'extension comme le fait la bibliothèque standard STL

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    juillet 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juillet 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Je n'ai pas mis d'include iostream
    Je vous remercie pour vos réponses rapides, mais je n'ai pas mis d'include iostream dans mon code. J'ai copié un code en C des cours de Mateo. Sauf que ses cours sont faits à partir de la SDL01 et non la 02, donc, je me demande si c'est pour cette raison que la fonction ne marche pas ?

  5. #5
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    février 2008
    Messages
    2 172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : février 2008
    Messages : 2 172
    Points : 4 284
    Points
    4 284
    Billets dans le blog
    4
    Par défaut
    À priori SDL_SetVideoMode () n’existe plus avec la sdl2.

    Voici un lien qui explique les transitions de la v1 à v2 : https://jeux.developpez.com/tutoriel...ide-migration/

    Et voilà l’api de la v2 : https://wiki.libsdl.org/CategoryAPI
    Utilisation de Glade avec Gtk+ - N'oubliez pas de consulter les FAQ Gtk et les cours et tutoriels Gtk

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    juin 2010
    Messages
    6 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : juin 2010
    Messages : 6 670
    Points : 30 448
    Points
    30 448
    Billets dans le blog
    4
    Par défaut
    Euh oui, si tu prends un code de SDL et espères le voir fonctionner en utilisant SDL2, c'est pas gagné.
    Le nom reste, mais ça n'a rien à voir.
    Heureusement les ressources SDL2 existent, et sont directement disponibles ici-même, nul besoin d'aller voir ailleurs.
    https://jeux.developpez.com/tutoriel...=prog-2d#sdl-2
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    juillet 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juillet 2013
    Messages : 6
    Points : 6
    Points
    6
    Par défaut MERCI
    THK you

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 18
    Dernier message: 02/02/2010, 15h39
  2. mauvaise utilisation de having ?
    Par maysa dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/06/2007, 16h48
  3. Bug ou mauvaise utilisation des FileUpload?
    Par mael94420 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 03/05/2007, 09h13
  4. Bug de CString ? ou mauvaise utilisation !
    Par globule71 dans le forum MFC
    Réponses: 11
    Dernier message: 12/04/2007, 17h36
  5. Mauvaise utilisation d'une DLL ?
    Par _SamSoft_ dans le forum C
    Réponses: 6
    Dernier message: 21/02/2007, 00h14

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