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

Contribuez Discussion :

SDL 2.0 Template pour Code::Blocks


Sujet :

Contribuez

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    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 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut SDL 2.0 Template pour Code::Blocks
    Bonjour,

    Je vous propose un nouvel élément à utiliser : SDL 2.0 Template pour Code::Blocks

    Voici la base d'un projet utilisant la SDL 2.0 pour Code::Blocks sous Windows.



    Le projet est configuré afin de démarrer rapidement une nouvelle application SDL. Aucune bibliothèque additionnelle n'a été ajoutée et donc seule la SDL est incluse. Le code source est simpliste et commenté. Il ouvre une fenêtre SDL et la referme au bout de trois secondes.



    L'avantage d'un tel projet contrairement aux différents tutoriels du net est que la SDL est incluse directement dans le projet et permet une distribution du code source simple et efficace. Ce template a été créé pour accompagné le tutoriel d'installation de la SDL 2.0.



    Pour Linux, il ne devrait pas y avoir grand chose à modifier.

    Qu'en pensez-vous ?
    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.

  2. #2
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    C'est génial ! Mais je me demande :

    J'ai essayé moi même de construire un projet en ajoutant SDL 2.0.
    J'obtiens une erreur "undefined WinMain@16", apparemment récurrente. La solution est d'ajouter libmingw32, ce que j'ai fait, sans succès.

    Comment as-tu fais ? Je précise que si j'utilise ton projet ça marche, mais si je remplace par les libs téléchargées sur le site officielles, ça ne marche plus.
    J'ai aussi remarqué que tes fichiers sont plus légers. As-tu toi même compiler SDL ?

    Je te remercie d'avance !

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    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 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut
    Il y a une possible explication ici : http://c.developpez.com/faq/?page=di...DIVERS_WinMain

    Sinon, normalement, libmingw32 résout le problème (j'en parle ici : http://alexandre-laurent.developpez....ration/#LV-B-3 ).
    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.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Rebonjour !

    J'ai résolu mon problème avant d'aller me coucher hier, voici la solution pour celles et ceux qui auraient le même :

    Je n'avais pas pris la bonne version (la i686)
    2 L'ordre des fichiers n'était pas bon ! Je devais le mettre ainsi :

    libmingw32.a
    libSDL2main.a
    libSDL2.dll.a
    libSDL2.a

    Si je ne fais pas ainsi ça ne fonctionne pas.
    Merci à toi en tout cas !

  5. #5
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 135
    Points
    10 135
    Par défaut
    Erreur "undefined WinMain@16" signifie que ton main n'est pas un main valide ,sur Windows un main valide en GUI c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,
                                                     LPSTR lpCmdLine, int nCmdShow);
    Si on veut faire du code portable et pas link mingw32 il suffit juste de mettre ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #ifdef __MINGW32__
    #undef main
    #endif
     
    int main()
    {
     
          return 0;
    }
    Du coup inutile de changer le link en passant de windows/linux/autre , par contre un simple -lSDL2 suffit il me semble sur code block en peut écrire aussi de cette manière dans les link :

  6. #6
    Inactif  
    Homme Profil pro
    c++ java php javascript
    Inscrit en
    Octobre 2013
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : c++ java php javascript
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2013
    Messages : 374
    Points : 179
    Points
    179
    Par défaut
    J'ai eu la même erreur de compilation "undefined WinMain@16"

    Elle se produit quand j'essaye d'utiliser SDL 2.0 64 bit.

    Ca vient apparemment du compileur GNU, pas de SDL, pourtant j'ai téléchargé la dernière version... bon tant pis, la version 32 bit elle marche.

    Sinon, merci à Alexandre pour son tutoriel simple et clair.
    nous devons inventer la langue de feu pour crâmer la langue de bois

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    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 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut
    Oui, pour que la version SDL 64 bits fonctionnent, il faut utiliser la version 64 bits de MinGW, sinon, il ne trouvera pas les fonctions (simplement, il ne chargera pas les bibliothèques, car il n'est pas capable de lire celles-ci).
    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.

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2013
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Merci
    J'ai passé des heures a essayer de configurer code blocks

  9. #9
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    J'ai exactement la même erreur. En compilant ton projet aucun soucis mais avec le miens qui est normalement configuré de la même façon avec juste l’arborescence des dossiers qui changent mais j'ai des chemins relatifs générés par C::B lors de l'ajout des lib etc...

    De quoi cela peut bien provenir ?!

    Tout est là, la libmingw32.a également


    EDIT:
    En fait, en prenant les lib de ton projet ça fonctionne, moi j'ai téléchargé la dernière version, quelle serait alors la différence (oui j'ai bien pris la version 32 pour MingW32 ) ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    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 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut
    Quelles bibliothèques avez-vous installer ? Si vous prenez la SDL 2 (version 64 bits), ça risque de ne pas fonctionner car le compilateur est 32 bits seulement (car MinGW compile en 32 bits).
    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.

  11. #11
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Quelles bibliothèques avez-vous installer ? Si vous prenez la SDL 2 (version 64 bits), ça risque de ne pas fonctionner car le compilateur est 32 bits seulement (car MinGW compile en 32 bits).
    Celles du dossier x86_64-w64-mingw32 de l'archive !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    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 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut
    Avec un MinGW de base (pas MinGW-w64), il faut piocher dans le dossier i686 (une architecture 32 bits). Le dossier x86_64, c'est pour du 64 bits.

    J'espère que l'on parle de la même chose
    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.

  13. #13
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Ha effectivement, pour moi x86.. était le bon dossier, j'ai inversé comme un bleu Ca va mieux en effet !!

    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2015
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    bonjour je voudrais savoir comment utiliser code::blocks pour creer son premier projet sdl

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    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 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    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.

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut sdl C++
    Comment passer de ce template C à un template C++

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 815
    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 815
    Points : 218 179
    Points
    218 179
    Billets dans le blog
    117
    Par défaut
    Avec Code::Blocks, le renommage du fichier .c en .cpp devrait suffire. Après, il faut changer le code pour suivre les principes de l'orienté objet et de l'encapsulation.
    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.

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 6
    Points : 15
    Points
    15
    Par défaut woooww
    j'ai ouvert le template dans codeblock j'ai build &run.. et ca fonctionne !!!

    pour une fois qu'un truc dans mon ordinateur fonctionne du premier coup

    merci a toi !!

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

Discussions similaires

  1. SDL Template pour Code::BLocks
    Par LittleWhite dans le forum Contribuez
    Réponses: 9
    Dernier message: 23/10/2017, 21h29
  2. SDL 1.2 + SDL_Image + SDL_TTF Template pour Code::Blocks
    Par LittleWhite dans le forum Contribuez
    Réponses: 0
    Dernier message: 10/05/2013, 14h26
  3. SDL 1.2 + SDL_Image Template pour Code::Blocks
    Par LittleWhite dans le forum Contribuez
    Réponses: 0
    Dernier message: 10/05/2013, 13h13

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