Téléchargé 70 fois
Vote des utilisateurs
4
0
Détails
Licence : Freeware
Mise en ligne le 20 août 2013
Plate-forme :
Windows
Langue : Français
Référencé dans
Navigation
SDL 2.0 Template pour Code::Blocks
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 accompagner le tutoriel d'installation de la SDL 2.0.
Pour Linux, il ne devrait pas y avoir grand chose à modifier.
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 accompagner le tutoriel d'installation de la SDL 2.0.
Pour Linux, il ne devrait pas y avoir grand chose à modifier.
En lisant le tutoriel : http://alexandre-laurent.developpez....configuration/ !
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 !
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 !
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 ).
Sinon, normalement, libmingw32 résout le problème (j'en parle ici : http://alexandre-laurent.developpez....ration/#LV-B-3 ).
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 !
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 !
Erreur "undefined WinMain@16" signifie que ton main n'est pas un main valide ,sur Windows un main valide en GUI c'est :
Si on veut faire du code portable et pas link mingw32 il suffit juste de mettre ceci :
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 :
Code : | Sélectionner tout |
1 2 3 | int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); |
Code : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | #ifdef __MINGW32__ #undef main #endif int main() { return 0; } |
Code : | Sélectionner tout |
SDL2
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).
J'ai passé des heures a essayer de configurer code blocks
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 ) ?
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 ) ?
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).
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.