Problème installation sdl 2 code:blocks [Résolu/Fermé]

Signaler
Messages postés
90
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
15 octobre 2013
-
Messages postés
1
Date d'inscription
dimanche 1 janvier 2017
Statut
Membre
Dernière intervention
1 janvier 2017
-
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 :)

9 réponses

Messages postés
5451
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2020
919
Salut BaptisteDebes,

Quelle est la version de Codeblocks dont tu disposes ?


Dal
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 66686 internautes nous ont dit merci ce mois-ci

Messages postés
90
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
15 octobre 2013

up
Messages postés
90
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
15 octobre 2013

up
Messages postés
5451
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2020
919
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

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://www.commentcamarche.net/faq/35736-installer-sous-codeblocks-avec-mingw-une-bibliotheque-librairie-compilee

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
Messages postés
5451
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2020
919
Si ta variable globale $(#sdl) existe déjà dans Settings - Global variables ... (car tu l'as entrée en passant par le Wizard, ou autrement), tu la supprimes avec le bouton "delete" et tu la recrées comme indiqué ci-dessus, ou tu la modifies avec des données correctes.

Dal
Messages postés
1
Date d'inscription
dimanche 1 janvier 2017
Statut
Membre
Dernière intervention
1 janvier 2017

merci..
Messages postés
90
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
15 octobre 2013

ça fonctionne mais maintenant j'essaie d'installer sdl_image mais ça ne fonctionne pas non plus
Messages postés
5451
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2020
919
J'ai au moins la satisfaction de te voir écrire que "ça fonctionne".

Exprime toi plus clairement et plus précisément. Tu as installé quoi et fait quoi qu'est-ce qui ne "fonctionne pas" ou 'fonctionne" selon toi et pourquoi.

Je ne suis pas devin.


Dal
Messages postés
90
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
15 octobre 2013

Désolé j'ai fais une erreur en tapant (j'avais pas beaucoup de temps) sdl fonctionne mais pas sdl_image
Messages postés
5451
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2020
919
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
Messages postés
90
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
15 octobre 2013

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 :)
Messages postés
5451
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2020
919
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://www.commentcamarche.net/faq/35736-installer-sous-codeblocks-avec-mingw-une-bibliotheque-librairie-compilee#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
Messages postés
5451
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2020
919
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
Messages postés
90
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
15 octobre 2013

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 :)
Messages postés
5451
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2020
919
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 :
#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
Messages postés
90
Date d'inscription
mardi 8 mai 2012
Statut
Membre
Dernière intervention
15 octobre 2013

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 ! :)
Messages postés
5451
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
14 décembre 2020
919
Champagne !!!!!
Messages postés
609
Date d'inscription
vendredi 31 juillet 2009
Statut
Membre
Dernière intervention
24 juin 2016
41
j'ai juste une question à te posé BatisteDebes
pourquoi rafraîchir l'écrans de ta suface principale pour charger par la suite les autres image et le re-charger ??
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 :)