Bonjour,
j'utilise depuis longtemps la bibliothéque SDL pour afficher des BMP dynamiquement.
Je compile et édite les liens ainsi:
cc -I/usr/include/SDL -I/usr/include -L/usr/lib -lSDL -lm fichier.c
ça fonctionne sur Freebsd au chemins prés.
ça fonctionne tel que sur tous les linux Arch Slackware ...
Sur Debian tout se passait bien mais pas sur la version 11.2
j'ai le refus classique: ld ne trouve pas SDL ...
où est la ruse ?
vous pouvez me dépanner.?
je vous remercie ..
edition de lien avec SDL
- dezix
- Membre hyper actif
- Messages : 3548
- Inscription : 04 juin 2016, 14:50
- Status : Hors-ligne
Bonjour, et bienvenue.
Je ne comprends pas trop de quoi il s'agit,
mais ce ne serait de cela dont tu as besoin ?
libsdl2-2-0-0
Je ne comprends pas trop de quoi il s'agit,
mais ce ne serait de cela dont tu as besoin ?
libsdl2-2-0-0
**Simple Utilisateur** -- Debian stable - XFCE
-
- Messages : 6
- Inscription : 23 févr. 2022, 12:58
- Status : Hors-ligne
Bonsoir,
Merci pour votre réactivité.
J'ai essayé tout ce qui est proposé.
La compilation se passe bien les "includes" sont bons.
L'erreur se produit à l'édition de lien,seulement.
J'utilise SDL et pas SDL2 mais ça ne vient pas de ça.
les chemins pour l’édition de lien sont corrects.
il y a les liens vers /lib/libSDL.so et /lib/libSDL_image.so que j'utilise .
Ce qui m'étonne c'est que les liens vont sur /lib/X86_64-linux-gnu/libSDL....
Si je donne ce chemin direct ça ne change rien.
Pire j'ai copié les 2 librairies manquantes chez moi avec une ligne de commande appropriée : -L. -l/lib
ça refuse toujours...
Comme si les binaires étaient incompatibles alors que l’éditeur de lien les déclare absentes...
Mais je ne veux pas voue embêter avec un problème irritant pour moi...
Ce doit être un truc gros, lié au binaires ou aux versions...puisque ça marchait bien sur les anciennes Debian et que ça marche sur les autre os..
Merci encore...
Merci pour votre réactivité.
J'ai essayé tout ce qui est proposé.
La compilation se passe bien les "includes" sont bons.
L'erreur se produit à l'édition de lien,seulement.
J'utilise SDL et pas SDL2 mais ça ne vient pas de ça.
les chemins pour l’édition de lien sont corrects.
il y a les liens vers /lib/libSDL.so et /lib/libSDL_image.so que j'utilise .
Ce qui m'étonne c'est que les liens vont sur /lib/X86_64-linux-gnu/libSDL....
Si je donne ce chemin direct ça ne change rien.
Pire j'ai copié les 2 librairies manquantes chez moi avec une ligne de commande appropriée : -L. -l/lib
ça refuse toujours...
Comme si les binaires étaient incompatibles alors que l’éditeur de lien les déclare absentes...
Mais je ne veux pas voue embêter avec un problème irritant pour moi...
Ce doit être un truc gros, lié au binaires ou aux versions...puisque ça marchait bien sur les anciennes Debian et que ça marche sur les autre os..
Merci encore...
- dezix
- Membre hyper actif
- Messages : 3548
- Inscription : 04 juin 2016, 14:50
- Status : Hors-ligne
STP utilise les balises code ou cmd pour rendre ces éléments plus lisibles => Éditeur complet
Pour revenir à ton affaire, le paquet libsdl1-2-dev fournit des chemins sur ce motif : /usr/include/SDL/SDL*
si tu connais/retrouves la dernière version qui fonctionnait pour toi, en consultant les changelog des versions plus récentes tu auras peut-être ta réponse.
Perso, le C et la compile ça dépasse mon horizon actuel
Pour revenir à ton affaire, le paquet libsdl1-2-dev fournit des chemins sur ce motif : /usr/include/SDL/SDL*
Parfois Debian adopte des variantes qui lui sont propres (par rapport à la majorité des distributions)
si tu connais/retrouves la dernière version qui fonctionnait pour toi, en consultant les changelog des versions plus récentes tu auras peut-être ta réponse.
Perso, le C et la compile ça dépasse mon horizon actuel

**Simple Utilisateur** -- Debian stable - XFCE
- dezix
- Membre hyper actif
- Messages : 3548
- Inscription : 04 juin 2016, 14:50
- Status : Hors-ligne
Je reviens car après une courte et très superficielle exploration de Gnu-gcc : Options
... j'ai de gros doutes sur l'exactitude de ta commande :
D'abord la commande n'est pas cc mais gcc
ensuite (sans certitudes) il (me) semblerait plus logique que l'option -L<rep-où-chercher-lib> soit passé avant -l<binaire>
vu que la commande va chercher aussi dans ce répertoire.
pour -l<binaire> j'ai compris que ça devrait plutôt être simplement -lSDL vu que le répertoire est déjà indiqué par -L
donc je verrais mieux : gcc -L/usr/lib/x86_64-linux-gnu -lSDL ....
ou
gcc -L/usr/lib/x86_64-linux-gnu -lSDL-1.2 ....
encore une fois... j'y connais rien ...
... j'ai de gros doutes sur l'exactitude de ta commande :
cebdan a écrit : 23 févr. 2022, 13:17 cc -I/usr/include/SDL -I/usr/include -L/usr/lib -lSDL -lm fichier.c
D'abord la commande n'est pas cc mais gcc
ensuite (sans certitudes) il (me) semblerait plus logique que l'option -L<rep-où-chercher-lib> soit passé avant -l<binaire>
vu que la commande va chercher aussi dans ce répertoire.
pour -l<binaire> j'ai compris que ça devrait plutôt être simplement -lSDL vu que le répertoire est déjà indiqué par -L
donc je verrais mieux : gcc -L/usr/lib/x86_64-linux-gnu -lSDL ....
ou
gcc -L/usr/lib/x86_64-linux-gnu -lSDL-1.2 ....
encore une fois... j'y connais rien ...

**Simple Utilisateur** -- Debian stable - XFCE
-
- Messages : 6
- Inscription : 23 févr. 2022, 12:58
- Status : Hors-ligne
Bonsoir,
Merci encore de votre dévouement...
cc / gcc : erreur à l’édition du message (cc ailleurs ) ..pas de Problème.
gcc -L/usr/lib/x86_64-linux-gnu -lSDL-1.2 ..../usr/bin/ld : ne peut trouver -lSDL-1.2
gcc -L/usr/lib/x86_64-linux-gnu -lSDL
et toutes les variantes et même la plus honnête:gcc -L/usr/lib/x86_64-linux-gnu/lib -lSDL
et surtout gcc -L. -lSDL en mettant des copies des .so dans ./
/usr/bin/ld : rien.o : dans la fonction « main » :
rien.c:(.text+0x3949) : référence indéfinie vers « SDL_Init »
/usr/bin/ld : rien.c:(.text+0x3960) : référence indéfinie vers « SDL_SetVideoMode »
/usr/bin/ld : rien.c:(.text+0x3977) : référence indéfinie vers « SDL_RWFromFile »
/usr/bin/ld : rien.c:(.text+0x3984) : référence indéfinie vers « SDL_LoadBMP_RW »
/usr/bin/ld : rien.c:(.text+0x39a1) : référence indéfinie vers « SDL_UpperBlit »
/usr/bin/ld : rien.c:(.text+0x39ad) : référence indéfinie vers « SDL_Flip »
/usr/bin/ld : rien.c:(.text+0x3fc7) : référence indéfinie vers « SDL_FreeSurface »
/usr/bin/ld : rien.c:(.text+0x3fcc) : référence indéfinie vers « SDL_Quit »
collect2: error: ld returned 1 exit status
....
ne vous décarcassez plus...j'ai honte...je vais poursuivre sur une des autres partitions j'en ai 28...
j'attends une réponse de la personne qui va s'en servir ...pas forcément sur Debian...Merci encore.
je reposterai dès que je serai bloqué ...
Au revoir.
Merci encore de votre dévouement...
cc / gcc : erreur à l’édition du message (cc ailleurs ) ..pas de Problème.
gcc -L/usr/lib/x86_64-linux-gnu -lSDL-1.2 ..../usr/bin/ld : ne peut trouver -lSDL-1.2
gcc -L/usr/lib/x86_64-linux-gnu -lSDL
et toutes les variantes et même la plus honnête:gcc -L/usr/lib/x86_64-linux-gnu/lib -lSDL
et surtout gcc -L. -lSDL en mettant des copies des .so dans ./
/usr/bin/ld : rien.o : dans la fonction « main » :
rien.c:(.text+0x3949) : référence indéfinie vers « SDL_Init »
/usr/bin/ld : rien.c:(.text+0x3960) : référence indéfinie vers « SDL_SetVideoMode »
/usr/bin/ld : rien.c:(.text+0x3977) : référence indéfinie vers « SDL_RWFromFile »
/usr/bin/ld : rien.c:(.text+0x3984) : référence indéfinie vers « SDL_LoadBMP_RW »
/usr/bin/ld : rien.c:(.text+0x39a1) : référence indéfinie vers « SDL_UpperBlit »
/usr/bin/ld : rien.c:(.text+0x39ad) : référence indéfinie vers « SDL_Flip »
/usr/bin/ld : rien.c:(.text+0x3fc7) : référence indéfinie vers « SDL_FreeSurface »
/usr/bin/ld : rien.c:(.text+0x3fcc) : référence indéfinie vers « SDL_Quit »
collect2: error: ld returned 1 exit status
....
ne vous décarcassez plus...j'ai honte...je vais poursuivre sur une des autres partitions j'en ai 28...
j'attends une réponse de la personne qui va s'en servir ...pas forcément sur Debian...Merci encore.
je reposterai dès que je serai bloqué ...
Au revoir.
- dezix
- Membre hyper actif
- Messages : 3548
- Inscription : 04 juin 2016, 14:50
- Status : Hors-ligne
Parmi les nombreuses options de débogagecebdan a écrit : 24 févr. 2022, 19:04 ne vous décarcassez plus...j'ai honte...je vais poursuivre sur une des autres partitions j'en ai 28...
j'attends une réponse de la personne qui va s'en servir ...pas forcément sur Debian...Merci encore.
je reposterai dès que je serai bloqué ...
Au revoir.
il doit bien y avoir de quoi comprendre ce qui coince.
À bientôt.

**Simple Utilisateur** -- Debian stable - XFCE