Et bien on dirait que non sinon ça fonctionnerai ! Tu as bien le fichier .lib de ton architecture ? Si tu veux te linker sur une bibliothèque 64 bit et que tu compile en 32 bits ça ne fonctionnera pas par exemple.
Tu utilise quoi comme compilateur ? Les fichiers .lib sont supportés par Visual Studio uniquement.
git is great because Linus did it, mercurial is better because he didn't.
SDL_image.lib : copiez dans C:\Program Files\CodeBlocks\SDL-1.2.13\lib. Oui, je sais, je vous ai dit que normalement les .lib étaient des fichiers réservés à Visual, mais ici exceptionnellement le .libfonctionnera même avec le compilateur mingw
Après, moi, je ne m'y connais pas trop...
EDIT : maintenant, il me met la petite fenêtre tout le temps, même quand je remet le chmin en x64...
Je pense que c'est ça le problème, le tutorial ne devrait même pas dire de linker au .lib. SDL sur Windows c'est très pénible avec MinGW. À part compiler à la main je vois pas d'autre solution.
Depuis je suis passé à Visual Studio (ou Visual C++ express), comme la plupart des bibliothèques sont fournies en .lib, plus de problème. Après si tu préfère rester sur CodeBlocks avec MinGW je pense que tu devras compiler SDL_image à la main.
git is great because Linus did it, mercurial is better because he didn't.
Bon, je pense qu'il y a une chose dont tu as du mal à comprendre, je vais t'expliquer
Les fichiers .lib sont des bibliothèques statiques, générées par Visual Studio. Elles incorporent tous les symboles dont elle a besoin pour l'utiliser. En d'autre termes, si tu te lies à un .lib tu n'as plus besoin de la DLL.
Les fichiers .dll sont des bibliothèques partagées, sur Windows elles ont besoin d'être soit dans le répertoire de l'exécutable soit dans le répertoire spécifique à Windows. Lorsque tu utilise cette méthode, tu ne te lies plus sur un fichier .lib, mais tu as la nécessité de transporter tes .dll avec ton exécutable.
Et, MinGW utilise gcc et génère des fichiers .a (pour bibliothèque statiques) et .a.dll (si mes souvenirs sont bons) et fonctionnent de la même façon. En revanche je ne pense pas que les .a et les .lib ne soient identiques.
- Edité par markand 30 juillet 2013 à 17:23:04
git is great because Linus did it, mercurial is better because he didn't.
Et fais bien attention a mettre les bons fichiers dans les bons dossiers ( Conseils NB 1 done Désolé Si personne ne te répond ce soir je t'indiquerais comment faire Car la je suis plutot occupé )
C'est bon, je suis revenu et je suis en trais de mettre les fichiers aux (je crois) bons endroits. Je vous donnerai les résultats dansmon futur EDIT...
EDIT : Le quel dois-je choisir (copier et linker ensuite) parmi ceux-ci :
- libSDL2_image.a
- libSDL2_image.dll.a
- libSDL2_image.la
EDIT2 : Au final, j'ai essayé avec tous, mais à chaque fois, il me met que SDL_image.dll n'existe pas...
Alors.... Ben c'est silmple tu as juste a mettre sdl_image.dll dans le dossier de ton executable
Pour les 3 fichiers... Je ne sais pas... J'utilise fedora pour coder... Donc il y a besoin de linker que SDL et SDL_image donc sur ce niveau je peux pas t'aider... ( dsl :/ ) ( mais essye de linker les 3 au hazard )
Non mais il faudrait un jour mettre à jour ce fichu tutoriel ! Car c'est IMPOSSIBLE de bien installer SDL_image en le suivant à la lettre !
J'ai essayé plusieurs fois avec plusieurs ordinateurs en 32 ou 64 bits sous vista et sous seven, à chaque fois le même problème : au moment de compiler alors que j'ai tout bien dans le bon dossier, j'ai bien linké, j'ai cette erreur sur IMD_Load !
Donc le problème ne vient pas de toi mais du tutoriel qui est soit obsolète soit a était modifié et a supprimé sans faire attention des informations capitales!
Pour le moment je continue à bosser qu'avec SDL du coup, pour le TP mario sokoban il faut juste convertir en .bmp les images et gérer la transparence de 5 images il me semble.
Plus qu'à attendre qu'une personne se décide à refaire un vrai tutoriel sur comment installer SDL_image !
EDIT3 : Petit inconvénient : Du coup, on est obligé de faire la transparence avec SDL_SetColorKey au lieu de le faire directement sur l'image quand elle est en PNG, mais bon...
Re: Désolé de la longueur ( dans temps ) mais il serait préférable d'installer SDL_Image. Tu peux t'insprirer de ça:
http://www.threelas.com/2011/07/how-to-install-sdlimage-in-codeblocks.html ( pense bien a bien télécharger SDL_Image devellopement pour mingw et ausi pense bien a linker les bons fichiers )
Puis j'ai suivi les indications de Mateo, sauf que j'ai pris le dossier x86 et non x64 et pris les DLL de ce dossier (->dans la racine du projet), ainsi que le lib de ce dossier (dans C:...), et ça marche. NB: Ne pas oublier de Linker.
git is great because Linus did it, mercurial is better because he didn't.
SDL : error : undefined reference to `IMG_Load'
× 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.
git is great because Linus did it, mercurial is better because he didn't.
Status 418
Think twice Code Once.
git is great because Linus did it, mercurial is better because he didn't.