Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/11/2017, à 20:29

CodeRom

 [Résolu] Problème linkage SDL_image et codeblocks

Bonjour, je n'arrive pas a linker la SDL_image sous codeblocks, j'ai pourtant tout essayé : inserer juste SDL_image dans les options du linker, dans others options toujours du linker mettre -lSDL_image, renseigner le chemin du .a et du .o de la libsdl_image, rien ne marche je me retrouve toujours avec comme erreur :
||error: ld returned 1 exit status|

Je précise que j'utilise le code générer par défaut lorsqu'on l'on créer un projet SDL, j'ai juste pour charger l'image changer la fonction SDL_LoadBMP(), par la fonction de SDL_image IMG_Load().

Voila je ne comprend pas pourquoi ça ne fonctionne pas, et je suis sur que le problème viens du linkage.SI quelqu'un peut me donner un coup de pouce se serait très sympathique.

Merci.

Dernière modification par CodeRom (Le 16/11/2017, à 11:47)

Hors ligne

#2 Le 15/11/2017, à 20:58

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

salut,

peut-être en lisant cette discussion, et ce message, en particulier, tu auras des pistes pour résoudre ton problème.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#3 Le 15/11/2017, à 21:26

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

Bonsoir melixgaro, merci pour ta réponse, malheureusement aucune des solutions apportées dans le sujet ne fonctionnent.

Lorsque je fait la commande :

ls -lh /usr/include/SDL/SDL.h /usr/include/SDL/SDL_image.h

j'ai en retour :

-rw-r--r-- 1 root root 3,2K mars  13  2016 /usr/include/SDL/SDL.h
-rw-r--r-- 1 root root 5,4K janv. 20  2014 /usr/include/SDL/SDL_image.h

or si je fait de même pour la SDL2 ou SDL_image2.0, j'ai :

ls: impossible d'accéder à '/usr/include/SDL2/SDL.h': Aucun fichier ou dossier de ce type
ls: impossible d'accéder à '/usr/include/SDL2/SDL_image.h': Aucun fichier ou dossier de ce type

J'en deduis deux chose la SDL 2 et SDL_image 2.0 ne sont pas installéés, il faut que je fasse mes include comme ceux ci :

#include SDL/SDL.h
#include SDL/SDL_image

Quand au linkage aucune solution ne marche, comment faire du coup ?

Hors ligne

#4 Le 15/11/2017, à 22:17

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

1/ c'est bien SDL dont tu as besoin ? pas SDL2 ?

2/ y a une erreur dans les include, non ?

#include <SDL/SDL.h>
#include <SDL/SDL_image>

3/ donne la commande de compilation que tu utilises et le retour d'erreur de la ligne de compilation pour qu'on puisse comprendre ce qu'il se passe


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#5 Le 15/11/2017, à 22:37

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

1) oui j'ai besoin de SDL pas de SDL2.

2)pardon j'avais oublié les chevrons, autant pour moi.

3) je n'utilise pas de commande de compilation j'utilise codeblocks, et il me renvois l'erreur suivante :

||error: ld returned 1 exit status|

Hors ligne

#6 Le 15/11/2017, à 22:41

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

ok.
tu n'écris nulle part les -lSDL -lSDL_image ?
codeblocks fait tout, tout seul, comme un grand ? big_smile (je ne connais pas du tout ce logiciel, d'où ma question)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#7 Le 15/11/2017, à 22:45

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

xD
Si j'ai écris plus haut que j'ai essayé de linker de différente façon, dont la façon que tu propose.
Dans build options -> dans les options du linker j'ajoute ce que tu me conseille -lSDL -lSDL_image, et rien la même erreur.

Hors ligne

#8 Le 15/11/2017, à 22:48

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

tu voudrais pas tenter en ligne de commande ?
tout le code tient dans un seul fichier ou pas ?


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#9 Le 15/11/2017, à 22:53

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

Bien sur aucun problème pour tester en ligne de commande mais il va falloir me la donner car je ne me suis jamais pencher là dessus.

oui le programme tiens en un seul fichier nommé main.c, le nom de projet est "test" et voila si tu as besoin d'infos supplémentaire hésite pas a me demander.

Hors ligne

#10 Le 15/11/2017, à 23:00

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

si c'est bien du C, alors tente ça dans une console, en t'étant positionné dans le bon dossier

gcc main.c -lSDL -lSDL_image -o compiled.exe

dis-moi s'il manque des choses (des .o ou d'autres options)
s'il y a une erreur, poste tout le retour


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#11 Le 15/11/2017, à 23:07

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

Alors non pas d'options manquante avec ta commande j'obtiens en retour :

gcc main.c -lSDL -lSDL_image -o compiled.exe
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFSetErrorHandler@LIBTIFF_4.0 »
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFClientOpen@LIBTIFF_4.0 »
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFReadRGBAImage@LIBTIFF_4.0 »
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFClose@LIBTIFF_4.0 »
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFGetField@LIBTIFF_4.0 »
collect2: error: ld returned 1 exit status

J'ai aussi tester de mon coté en utilisant une autre commande et voila le retour et la commande :

 gcc main.c -o test
/tmp/ccJeLWUv.o : Dans la fonction « main » :
main.c:(.text+0x24) : référence indéfinie vers « SDL_Init »
main.c:(.text+0x2d) : référence indéfinie vers « SDL_GetError »
main.c:(.text+0x4e) : référence indéfinie vers « SDL_Quit »
main.c:(.text+0x6c) : référence indéfinie vers « SDL_SetVideoMode »
main.c:(.text+0x7c) : référence indéfinie vers « SDL_GetError »
main.c:(.text+0xa2) : référence indéfinie vers « IMG_Load »
main.c:(.text+0xb2) : référence indéfinie vers « SDL_GetError »
main.c:(.text+0x150) : référence indéfinie vers « SDL_PollEvent »
main.c:(.text+0x173) : référence indéfinie vers « SDL_MapRGB »
main.c:(.text+0x186) : référence indéfinie vers « SDL_FillRect »
main.c:(.text+0x19f) : référence indéfinie vers « SDL_UpperBlit »
main.c:(.text+0x1ab) : référence indéfinie vers « SDL_Flip »
main.c:(.text+0x1bd) : référence indéfinie vers « SDL_FreeSurface »
collect2: error: ld returned 1 exit status

Hors ligne

#12 Le 15/11/2017, à 23:27

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

bon ça parle un peu plus que codeblocks big_smile
y a pas d'autres include dans ton main.c qui nécessite de lier d'autres bibliothèques ? libtiff ?


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#13 Le 15/11/2017, à 23:29

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

Bah #include <stdlib.h> a part ça non, j'ai quand même réinstaller libTIFF pendant ce temps mais ça n'as pas résolu le problème.

Hors ligne

#14 Le 15/11/2017, à 23:32

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

tu as installé le paquet 'dev', libtiff5-dev ?


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#15 Le 15/11/2017, à 23:33

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

Ouép :

libtiff5-dev is already the newest version (4.0.6-1ubuntu0.2).

Hors ligne

#16 Le 15/11/2017, à 23:36

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

visiblement ça veut la libtiff4-dev, qui n'est plus dispo sur *ubuntu


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#17 Le 15/11/2017, à 23:38

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

et donc que dois je faire ?

Hors ligne

#18 Le 15/11/2017, à 23:41

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

ben si j'ai bien compris (la compilation et son débeuguage ne sont pas ma grande passion wink) et qu'effectivement il te faut la v4, alors je ne vois pas de solution simple et élégante.
tu es en *ubuntu 16.04 ?


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#19 Le 15/11/2017, à 23:42

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

Oué Ubuntu 16.04 LTS

Hors ligne

#20 Le 15/11/2017, à 23:52

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

Je ne garantis rien du tout mais peut-être que ça marchera en téléchargeant la dernière libtiff4 dispo et en mettant le .so dans le dossier courant (celui où tu compiles)

avec ces lignes, tu pourras récupérer le .so et le mettre dans le dossier de ton choix

/!\ dernière ligne à adapter
/!\ je suppose que tu as une archi 64 bits

wget http://security.ubuntu.com/ubuntu/pool/main/t/tiff/libtiff4_3.9.5-2ubuntu1_amd64.deb   # Pour arch 64 bits
ar x libtiff4_3.9.5-2ubuntu1_amd64.deb
tar xvf data.tar.gz
cp -aiv usr/lib/x86_64-linux-gnu/libtiff.so.4.3.4 libtiff.so  # Change la destination de la copie pour le .so dans le dossier où se trouve ton projet

Puis tente une recompilation. Je ne sais plus si le compilateur cherche dans le dossier courant en premier, sinon faudra adapter la ligne de compilation.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#21 Le 16/11/2017, à 00:11

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

j'ai suivis tes indications , copié le libtiff.so dans le dossier de mon projet, mais a la compil c'est toujours la même chose :

gcc main.c -lSDL -lSDL_image -o compiled.exe
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFSetErrorHandler@LIBTIFF_4.0 »
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFClientOpen@LIBTIFF_4.0 »
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFReadRGBAImage@LIBTIFF_4.0 »
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFClose@LIBTIFF_4.0 »
/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libSDL_image.so : référence indéfinie vers « TIFFGetField@LIBTIFF_4.0 »
collect2: error: ld returned 1 exit status

Je comprend pas avant je n'avais aucun problème avec la SDL_image, peut être passer a la SDL_image 2.0 résoudrais ce problème en particulier non ?

Hors ligne

#22 Le 16/11/2017, à 00:17

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

oui peut-être, j'allais le suggérer. faudra adapter le .c et la ligne de compilation

Dernière modification par melixgaro (Le 16/11/2017, à 00:18)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#23 Le 16/11/2017, à 00:23

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

ok bon bah je vais désintaller SDL 1.2 et SDL_image 1.2 pour la SDL2 et SDL_image 2.0 et je reviens vous voir pour vous dire.

Merci de ton aide et de ta patience melixgaro smile

Hors ligne

#24 Le 16/11/2017, à 00:32

melixgaro

Re :  [Résolu] Problème linkage SDL_image et codeblocks

tu peux installer les deux côte-à-côte, c'est le cas sur mon système


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#25 Le 16/11/2017, à 11:46

CodeRom

Re :  [Résolu] Problème linkage SDL_image et codeblocks

Bon me voila pour vous donnez quelques nouvelles.Alors mon système était a priori trop instable, car impossible de compiler la SDL_image2.0 , problème de dépendances que je n'ai put régler car certain paquet me disait il (aka le terminal) était en mode "pas de changement/modification" ou truc du genre.De plus il me fallait libtool 2.6. 4 je crois alors que j'avais une version antérieur et là re belote, problème pour installer la version.Bref j'en ai eu marre et je suis allé dormir un peu.Au réveille avant de partir j'ai tout simplement formaté et réinstallé Ubuntu 16.04 LTS, là je viens de rentrer et j'ai installé la panoplie SDL : SDL2, SDL_image, SDL_TTF, SDL_net, SDL_mixer et tout marche pour le mieux.

Voila concrètement je pense que le problème venait de dépendances pas ou mal installé ou obsolète, et le tout faisait boguer SDL_image, et certainement pas que ça.Bref j'ai fait une image disk avec clonezilla, comme ça là je suis tranquille.

Merci encore melixgaro pour son aide précieuse et sa patience.

A tchao !

Hors ligne