voici déjà plusieurs mois que je suis sur un problème qui m'empêche d'évoluer avec le cours.
j'utilise codeblock et j'ai bien suivi les étapes d'installation à savoir :
-la copie du header(SDL_image.h) dans le répertoire C:\Program Files (x86)\CodeBlocks\SDL-1.2.15\include.
-copie du fichier SDL_image.lib (x86) dans le répertoire C:\Program Files (x86)\CodeBlocks\SDL-1.2.15\lib.
-copier tous les fichier .dll dans le dossier où se trouve mon projet
- et enfin linker dans code block.
Mais élas je tombe toujours sur le même problème. Aucun forum jusqu'à présent n'a reussi à m'apporter une solution, j'ai déjà perdu trop de temps ,please aidez-moi....
D'accord! je suis d'accord avec toi. Mais justement dans le tuto de mateo21 il nous a été fait comprendre qu'exceptionnellement dans ce cas, le fichier SDL_image.lib marcherai et cela même avec le compilateur mingw.
Markand peut-être bien qu'elles sont obsolètes, mais je voudrais au moins y parvenir pour mieux comprendre les rouages, avoir les bonnes bases et pouvoir naturellement m'en sortir dans la versions actuelle.....pouvez-vous m'aider à résoudre ce problème svp je suis bloqué déjà depuis plusieurs semaines please!!
Tu peux avoir de bonnes bases en suivant un cours à jour tout simplement. Je ne vois pas l'intérêt de commencer sur une version qui est déjà obsolète. Il n'y a pas qu'openclassrooms dans la vie ! De toute façon les cours du C et C++ sur ce site sont à proscrire et nous mettons la pression pour qu'ils soient supprimés. Sauf erreur de ma part, en auto école on ne t'apprend plus à rouler sur des Citroën AX.
- Edité par markand 16 février 2021 à 8:54:27
git is great because Linus did it, mercurial is better because he didn't.
Petite précision: il n'y a aucune restriction à générer ou consommer des librairies statiques avec une extension .a/.lib avec MinGW, ou .dll.a/.lib pour la librairie d'import.
D'accord markand, ce cours je l'ai commencé, je voudrais bien le poursuivre et le terminer. J'ai consulté pas mal de forum et vu pas mal de tuto mais aucun d'eux n'a su solutionner mon problème. Je pense avoir respecter toutes les étapes mais cela ne fonctionne toujours pas!
Quelqu'un pourrait-il m'apporter une solution claire svp??
[...] Quelqu'un pourrait-il m'apporter une solution claire svp??
Elle t'a été donnée : n'utilise pas une version du produit obsolète depuis 8 ans ⇒ plus de support = la merde quand les autres outils et/ou l'environnement évoluent.
Et bien reste dans ton environnement obsolète et perds du temps à apprendre quelque chose qui n'est plus supporté upstream ni valable. Au final tu apprends quelque chose que tu n'utiliseras même plus.
C'est incroyable cet entêtement à vouloir apprendre quelque chose de déprécié et totalement obsolète juste parce qu'il y a un cours « en français, facile à lire ».
Si tu ne trouves pas de solutions, c'est parce que plus personne n'utilise SDL 1.2. Donc les articles finissent par disparaitre et le référencement aussi. Essaye de trouver de la documentation sur Lua 5.0 ou Gtk 1.0 ou Qt 3, c'est pareil.
- Edité par markand 17 février 2021 à 15:52:12
git is great because Linus did it, mercurial is better because he didn't.
Bizarre que, alors que les autres lib sont en .a, on te disent que "exceptionnellement il faut lier le .lib..."
Bref, je connais bien SDL, mais je n'ai jamais suivi le cours de ce site, ni utilisé code::blocks.
Quoiqu'il en soit, au pire si tu veux ne pas être frustré et finir ça avant d'aller vers du plus moderne, sache que SDL_image ne sert pas à grand chose : il charge des .png,.jpg ou autres alors que la fonction native SDL_LoadBMP ne prend que des BMP.
Donc tu peux te passer de SDL_Image (et de IMG_Load) en remplaçant par SDL_LoadBMP. Bien sur il faudra d'abord convertir les images des exemples en BMP (ouvre les images proposées dans Paint, et resauve en BMP 24 bits)
Quand on commence à trimballer un gros paquet d'images, il est quand-même plus sympa de travailler avec des formats compressés, qui en plus savent gérer la transparence. Perso le png est mon format favoris. Alors je pourrais me creuser le crâne et utiliser moi-même libpng plutôt que passer par un intermédiaire, mais bon, flemme oblige.
Et aussi, arrêtez de tacler la SDL1.x, c'est une ancienne version, pas une version inutile. Elle fonctionne sur du matos que ne peut pas faire la SDL2, et est encore à la base de nombreux émulateurs qui tournent sur du matos chinois pas cher sans carte graphique. Et vous ne savez pas sur quoi vont bosser les gens, il veut ptet développer un homebrew sur PS2.
Sans compter que le textures ont fait disparaître une certaine souplesse de travail qui m'oblige presque à travailler avec des surfaces de toute façon. Donc, plus rapide, peut-être sauf quand il devient nécessaire de streamer les textures en permanence.
Et enfin, arriver ou non à lier une lib n'a absolument rien à voir avec la version de ladite lib. S'il ne sait pas linker une lib, il n'y arriveras pas plus avec la SDL 3.
Quand on commence à trimballer un gros paquet d'images, il est quand-même plus sympa de travailler avec des formats compressés, qui en plus savent gérer la transparence. Perso le png est mon format favoris. Alors je pourrais me creuser le crâne et utiliser moi-même libpng plutôt que passer par un intermédiaire, mais bon, flemme oblige.
Ma suggestion de se passer de SDL_Image était, puisqu'il a un soucis pour l'installer, de pouvoir contourner le problème au moins dans un premier temps
Je ne vois pas trop le rapport avec la version de SDL. S'il n'arrive pas à faire ses liens, ce n'est pas de la faute de la lib...
drx a écrit:
Et enfin, arriver ou non à lier une lib n'a absolument rien à voir avec la version de ladite lib. S'il ne sait pas linker une lib, il n'y arriveras pas plus avec la SDL 3.
Le plus simple alors, c'est peut-être d'expliquer comment lier une lib ? non ?
Sélectionner à gauche le projet (pas Debug ou Release mais la racine).
Dans l'onglet "Linker settings", cliquer sur "Add" et sélectionner le fichier "libSDL2_image.dll.a".
Refaire la même opération pour le fichier "libSDL2_image.a"
Dans l'onglet "Search directory" / compiler, donner le chemin vers les includes( "C:\...\include"), dans l'onglet "linker" le chemin vers les lib ("C:\..\lib").
Dire oui quand il te demande s'il faut appliquer aux composantes (debug et release) et fin.
à noter que pour la SDL2, le choix 32/64 bits ne dépend pas de ton pc mais tu compilateur que tu utilises. Ici, je suis tout en 32 bits, et bien entendu, même version pour la SDL que pour ses modules SDL_image, SDL_TTF etc...
Mais quelles erreurs as tu précisément? Donne le log des erreurs d'édition des liens si l'erreur est bien là.
Au passage je n'utilise pas SDL_image, mais j'imagine que cette lib dépend de SDL, donc si c'est le cas il faut bien lister SDL_image puis SDL dans la ligne de commande de l'éditeur de liens GNU (Visual Studio est plus relax concernant l'ordre).
bonjour à tous . Tout d'abord je voudrais vous remercier pour votre assistance et aide et je viens ici maintenant pour vous apporter la solution à ce problème légendaire.
je voudrais déjà vous préciser que j'ai à la lettre les configurations de ce tuto et des differents liens envoyés par mes camarades dans ce forums.
puisque ce tuto n'étais à jour c'est à dire au moment où le tuto se réalisait la version SDL2 n'était pas encore disponible, alors ce que je faisais j'essayais d'avancer avec les deux versions en même temps(SDL et SDL2).
le problème selon moi qui se posait était un problème de confit entre la librerie de la SDL et SDL2 puisque après avoir enlever cette dernière dans les linker comme par miracle...ca marchais.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
git is great because Linus did it, mercurial is better because he didn't.
git is great because Linus did it, mercurial is better because he didn't.
git is great because Linus did it, mercurial is better because he didn't.
Bonhomme !! | Jeu de plateforme : Prototype.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Bonhomme !! | Jeu de plateforme : Prototype.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html
Bonhomme !! | Jeu de plateforme : Prototype.
git is great because Linus did it, mercurial is better because he didn't.