Problème installation sdl 2 code:blocks
Résolu
BaptisteDebes
Messages postés
90
Date d'inscription
Statut
Membre
Dernière intervention
-
topher1er Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
topher1er Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous et à toutes voilà mon problème :
Je n'arrive pas à installer sdl 2 sur code:blocks ça fait 4 jours que je passe des heures (je ne rigole pas) à essayer de trouver une solution. J'ai essayé des tonnes de trucs proposées sur d'autres topics mais ça ne marche pas, j'ai essayé avec plusieurs tutoriels (qui ne disent presque à chaque fois pas la même chose) mais l'a aussi je suis bloqué. Code:blocks au fur est à mesure m'a mis différents messages d'erreur : la fonction n'existe pas, n'est pas reconu, SDL.h n'est pas là et ça c'est encore quand j'arrive à lancer un projet sdl parce que il me demande un répertoire pendant la création mais j'ai beau tout essayé là non plus ça ne marche pas ! :'(
J'espère avoir était assez précis
Merci d'avance
PS : j'aimerai aussi installé sdl_image :)
Je n'arrive pas à installer sdl 2 sur code:blocks ça fait 4 jours que je passe des heures (je ne rigole pas) à essayer de trouver une solution. J'ai essayé des tonnes de trucs proposées sur d'autres topics mais ça ne marche pas, j'ai essayé avec plusieurs tutoriels (qui ne disent presque à chaque fois pas la même chose) mais l'a aussi je suis bloqué. Code:blocks au fur est à mesure m'a mis différents messages d'erreur : la fonction n'existe pas, n'est pas reconu, SDL.h n'est pas là et ça c'est encore quand j'arrive à lancer un projet sdl parce que il me demande un répertoire pendant la création mais j'ai beau tout essayé là non plus ça ne marche pas ! :'(
J'espère avoir était assez précis
Merci d'avance
PS : j'aimerai aussi installé sdl_image :)
A voir également:
- Problème installation sdl 2 code:blocks
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
9 réponses
Salut BaptisteDebes,
Je ne pratique pas trop la SDL, mais je connais assez bien Codeblocks.
J'ai jeté un oeil au Wizard pour SDL, dont dispose Codeblocks, dans sa version stable publique actuelle 12.11 (je n'utilise pas les nightly builds, si tu as une nightly build cela peut être différent). Il est conçu pour fonctionner avec SDL 1.x, pas SDL 2.0.
Avec le Wizard, j'ai pu créer et compiler en quelques minutes le programme SDL proposé par défaut par le Wizard.
Avec SDL 1.2, et Codeblocks 12.11 tu fais comme cela :
Tu te procures SDL-devel-1.2.15-mingw32.tar.gz
Tu le décompacte, disons, dans C:\MyLibs\SDL-1.2.15
Dans le code source généré, tu changes #include <SDL/SDL.h> par #include <SDL.h>.
Compile et exécute.
Si tu tiens à utiliser la SDL 2.0, tu dois paramétrer manuellement le projet.
Suit les instructions génériques figurant là : https://forums.commentcamarche.net/forum/affich-37594493-codeblocks-installer-une-bibliotheque-librairie
Dans ton SDL2-devel-2.0.0-mingw.tar.gz utilise le contenu de i686-w64-mingw32 pour une plateforme 32 bits (x86_64-w64-mingw32 pour 64 bits).
Dal
Je ne pratique pas trop la SDL, mais je connais assez bien Codeblocks.
J'ai jeté un oeil au Wizard pour SDL, dont dispose Codeblocks, dans sa version stable publique actuelle 12.11 (je n'utilise pas les nightly builds, si tu as une nightly build cela peut être différent). Il est conçu pour fonctionner avec SDL 1.x, pas SDL 2.0.
Avec le Wizard, j'ai pu créer et compiler en quelques minutes le programme SDL proposé par défaut par le Wizard.
Avec SDL 1.2, et Codeblocks 12.11 tu fais comme cela :
Tu te procures SDL-devel-1.2.15-mingw32.tar.gz
Tu le décompacte, disons, dans C:\MyLibs\SDL-1.2.15
Settings - Global variables ...
Current set [default]
Current variable - cliquer sur New
New variable : sdl
base : C:\MyLibs\SDL-1.2.15
Create a new project
SDL project
Next
project title : testSDL
Next
Please select SDL's location : $(#sdl)
Next
Close
Dans le code source généré, tu changes #include <SDL/SDL.h> par #include <SDL.h>.
Compile et exécute.
Si tu tiens à utiliser la SDL 2.0, tu dois paramétrer manuellement le projet.
Suit les instructions génériques figurant là : https://forums.commentcamarche.net/forum/affich-37594493-codeblocks-installer-une-bibliotheque-librairie
Dans ton SDL2-devel-2.0.0-mingw.tar.gz utilise le contenu de i686-w64-mingw32 pour une plateforme 32 bits (x86_64-w64-mingw32 pour 64 bits).
Dal
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ça fonctionne mais maintenant j'essaie d'installer sdl_image mais ça ne fonctionne pas non plus
Moi aussi j'ai peu de temps à te consacrer, surtout pour me répéter.
Alors pour la 2ème fois :
Tu ne dis toujours pas ce que tu as fait (quelle version de la SDL tu as installée et fait fonctionner avec succès, quelle version de sdl_image tu as installé et comment), ce qui ne "fonctionne pas" (ce que tu veux faire et qui ne fonctionne pas) et pourquoi tu penses que cela ne marche pas (quels sont les messages d'erreurs ou comportements anormaux).
Je n'ai jamais utilisé sdl_image quant à moi. As-tu lu sa documentation ?
Dal
Alors pour la 2ème fois :
Tu ne dis toujours pas ce que tu as fait (quelle version de la SDL tu as installée et fait fonctionner avec succès, quelle version de sdl_image tu as installé et comment), ce qui ne "fonctionne pas" (ce que tu veux faire et qui ne fonctionne pas) et pourquoi tu penses que cela ne marche pas (quels sont les messages d'erreurs ou comportements anormaux).
Je n'ai jamais utilisé sdl_image quant à moi. As-tu lu sa documentation ?
Dal
J'ai installé sdl 1.2.15 (avec succès je pense :) ) j'essaie d'installer la version 1.2.10 de sdl_image parce que à ce qu'il parait la 2 a des problèmes de compatibilités mais cela ne marche pas j'ai comme message d'erreur : "undefined reference to 'IMG_Load'" voici la doc de sdl_image : http://www.libsdl.org/projects/SDL_image/docs/SDL_image.html
J'espère avoir était assez précis et merci d'avance :)
J'espère avoir était assez précis et merci d'avance :)
Oui c'est mieux !
Ton message d'erreur signifie que le compilateur arrive bien à trouver le fichier d'entête .h, mais que la liaison échoue.
Cela est certainement dû au fait que tu n'as pas indiqué dans le paramétrage de ton projet l'endroit où se trouvent les binaires de la bibliothèque que tu dois utiliser et où se trouve implémenté 'IMG_Load'.
Suis les indications figurant là pour le faire :
https://forums.commentcamarche.net/forum/affich-37594493-codeblocks-installer-une-bibliotheque-librairie#indiquer-a-l-editeur-de-liaisons-ou-il-doit-trouver-les-binaires-de-la-bibliotheque
Il semblerait que ce soit SDL_image.lib que tu doives sélectionner, dans le répertoire correspondant à ton architecture (x86 pour 32 bits) issu du fichier SDL_image-devel-1.2.12-VC.zip.
Je n'ai pas testé :-)
Dal
Ton message d'erreur signifie que le compilateur arrive bien à trouver le fichier d'entête .h, mais que la liaison échoue.
Cela est certainement dû au fait que tu n'as pas indiqué dans le paramétrage de ton projet l'endroit où se trouvent les binaires de la bibliothèque que tu dois utiliser et où se trouve implémenté 'IMG_Load'.
Suis les indications figurant là pour le faire :
https://forums.commentcamarche.net/forum/affich-37594493-codeblocks-installer-une-bibliotheque-librairie#indiquer-a-l-editeur-de-liaisons-ou-il-doit-trouver-les-binaires-de-la-bibliotheque
Il semblerait que ce soit SDL_image.lib que tu doives sélectionner, dans le répertoire correspondant à ton architecture (x86 pour 32 bits) issu du fichier SDL_image-devel-1.2.12-VC.zip.
Je n'ai pas testé :-)
Dal
Salut, j'ai testé. C'est bien SDL_image.lib qu'il faut ajouter dans les options du projet Codeblocks décrivant les bibliothèques à lier.
extrait de la fiche pratique précitée adaptée à ton cas :
dans : Project - Build options... - Cliquer sur la racine du projet (pas sur les cibles Debug ou Target, sinon les paramètres ne s'appliquent qu'à la cible, sauf si on utilise des bibliothèques de débogage pour une librairie donnée, là il devient utile de distinguer selon les cibles)
Onglet "Linker settings" - Add - aller chercher le répertoire qui contient le fichier binaire de la bibliothèque : dans le cas de SDL_image ajouter SDL_image.lib.
Dal
extrait de la fiche pratique précitée adaptée à ton cas :
dans : Project - Build options... - Cliquer sur la racine du projet (pas sur les cibles Debug ou Target, sinon les paramètres ne s'appliquent qu'à la cible, sauf si on utilise des bibliothèques de débogage pour une librairie donnée, là il devient utile de distinguer selon les cibles)
Onglet "Linker settings" - Add - aller chercher le répertoire qui contient le fichier binaire de la bibliothèque : dans le cas de SDL_image ajouter SDL_image.lib.
Dal
J'ai fais comme dans le tutoriel et comme vous dites mais voilà :http://www.hostingpics.net/viewer.php?id=811393Screenshot2013104131648.png
que je clique sur oui ou sur non ça ne marche pas
voici les configs du tuto :http://www.hostingpics.net/viewer.php?id=244030Screenshot2013104131522.png
http://www.hostingpics.net/viewer.php?id=179916Screenshot2013104131916.png
merci d'avance :)
que je clique sur oui ou sur non ça ne marche pas
voici les configs du tuto :http://www.hostingpics.net/viewer.php?id=244030Screenshot2013104131522.png
http://www.hostingpics.net/viewer.php?id=179916Screenshot2013104131916.png
merci d'avance :)
Le Wizard de Codeblocks s'occupe des entêtes et des binaires à lier pour SDL. Tu as manifestement changé cela en dupliquant les références (SDLmain et SDL.dll figurent deux fois - retire les ..\Libraries\etc. concernant SDL, laisse celui concernant SDL_image, qui doit pointer sur SDL_image.lib) et en altérant "search directories" aussi.
Pour SDL, laisse faire le Wizard, il t'évite la configuration manuelle.
Quand ton projet de base sans utiliser SDL-image compile sans erreurs, ajoute SDL_image.
En ce qui concerne SDL_image :
Là, par contre, tu dois faire cette configuration manuelle.
Compte tenu de la configuration visible sur ta capture pour "search directories", si ton fichier SDL_image.h est dans "../Librairies/SDL_IMAGE/INCLUDE", tu dois faire :
En outre, d'après mes tests, le Wizard devrait insérer "$(#sdl.include)SDL" dans "search directories" et donc, ton include pour SDL.h devrait être
Enfin, tu n'as pas indiqué de message d'erreur (et il devrait y en avoir au vu de ce que tu montres). Ce que tu postes, outre ta configuration, c'est une capture d'un message de Codeblocks proposant de construire le projet, mais pas les messages d'erreur résultant de ta tentative de compilation.
Alors, pour la 3ème fois, stp ne te contente pas de dire "ça ne marche pas" (après j'arrête) : dis pourquoi tu penses que cela ne "marche pas" (quels sont les messages d'erreurs ou comportements anormaux) ?
On va y arriver ... je crois :-)
Dal
Pour SDL, laisse faire le Wizard, il t'évite la configuration manuelle.
Quand ton projet de base sans utiliser SDL-image compile sans erreurs, ajoute SDL_image.
En ce qui concerne SDL_image :
Là, par contre, tu dois faire cette configuration manuelle.
Compte tenu de la configuration visible sur ta capture pour "search directories", si ton fichier SDL_image.h est dans "../Librairies/SDL_IMAGE/INCLUDE", tu dois faire :
#include <SDL_image.h>dans ton code et non pas
#include <SDL/SDL_image.h>, car il n'y a pas de répertoire SDL dans "../Librairies/SDL_IMAGE/INCLUDE" (de plus, utilise des / et pas des \ dans tes include, s'ils sont nécessaires).
En outre, d'après mes tests, le Wizard devrait insérer "$(#sdl.include)SDL" dans "search directories" et donc, ton include pour SDL.h devrait être
#include <SDL.h>et non pas
#include <SDL/SDL.h>, car le répertoire "SDL" est déjà pris en compte. Tu as manifestement supprimé ce paramétrage.
Enfin, tu n'as pas indiqué de message d'erreur (et il devrait y en avoir au vu de ce que tu montres). Ce que tu postes, outre ta configuration, c'est une capture d'un message de Codeblocks proposant de construire le projet, mais pas les messages d'erreur résultant de ta tentative de compilation.
Alors, pour la 3ème fois, stp ne te contente pas de dire "ça ne marche pas" (après j'arrête) : dis pourquoi tu penses que cela ne "marche pas" (quels sont les messages d'erreurs ou comportements anormaux) ?
On va y arriver ... je crois :-)
Dal
J'ai du encore un peu bidouiller en mettant les .h de sdl dans le dossier de sdl_image mais ça marche (j'ai envie d'en pleurer) :) VRAIMENT MERCI ! :)
Bonjour,
Pour tous ceux qui souhaitent comprendre mieux l'installation d'une bibliothèque dans un projet, je conseille ce tutoriel généraliste : http://alexandre-laurent.developpez.com/tutoriels/c-cpp/installation-et-configuration-d-une-bibliotheque/
Ensuite, pour le cas plus précis de la SDL 2 : http://alexandre-laurent.developpez.com/tutoriels/sdl-2/installation-et-configuration/
D'après moi, il faut passer à la SDL 2, car c'est vraiment une évolution par rapport à la SDL 1.2. Vous pouvez lire les améliorations ici : http://jeux.developpez.com/actu/59795/SDL-2-0-est-disponible-en-telechargement-l-acceleration-materielle-et-le-support-tant-attendu-d-OpenGL-3-0-arrive/
Sachez aussi que la SDL_image existe aussi en une version pour la SDL 2 : SDL2_image :)
Pour tous ceux qui souhaitent comprendre mieux l'installation d'une bibliothèque dans un projet, je conseille ce tutoriel généraliste : http://alexandre-laurent.developpez.com/tutoriels/c-cpp/installation-et-configuration-d-une-bibliotheque/
Ensuite, pour le cas plus précis de la SDL 2 : http://alexandre-laurent.developpez.com/tutoriels/sdl-2/installation-et-configuration/
D'après moi, il faut passer à la SDL 2, car c'est vraiment une évolution par rapport à la SDL 1.2. Vous pouvez lire les améliorations ici : http://jeux.developpez.com/actu/59795/SDL-2-0-est-disponible-en-telechargement-l-acceleration-materielle-et-le-support-tant-attendu-d-OpenGL-3-0-arrive/
Sachez aussi que la SDL_image existe aussi en une version pour la SDL 2 : SDL2_image :)