edition de lien avec SDL

Demande d'aide : c'est ici.
Répondre
cebdan
Messages : 6
Inscription : 23 févr. 2022, 12:58
Status : Hors-ligne

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 ..
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
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
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Au hasard : ça ne serait pas plutôt ton chemin qui est faux :

/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Cette fois ça doit pas être loin :

/usr/include/SDL2/SDL.h fournit par libsdl2-dev
**Simple Utilisateur** -- Debian stable - XFCE
cebdan
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...
cebdan
Messages : 6
Inscription : 23 févr. 2022, 12:58
Status : Hors-ligne

Erreurs dans le message précédant -L. -lSDL
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
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*
cebdan a écrit : 23 févr. 2022, 18:14 Ce doit être un truc gros, lié au binaires ou aux versions...
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 :sad:
**Simple Utilisateur** -- Debian stable - XFCE
cebdan
Messages : 6
Inscription : 23 févr. 2022, 12:58
Status : Hors-ligne

Bonsoir,
Merci encore.
Mes Excuses pour l'édition, je débarque,
Je vais continuer mon enquête.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

cebdan a écrit : 23 févr. 2022, 19:03 Je vais continuer mon enquête.
Ok!... Reviens par ici si tu trouves une solution. :wink:

@+
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
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 :
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 ... :003:
**Simple Utilisateur** -- Debian stable - XFCE
cebdan
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.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

cebdan 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.
Parmi les nombreuses options de débogage
il doit bien y avoir de quoi comprendre ce qui coince.

À bientôt.
:006:
**Simple Utilisateur** -- Debian stable - XFCE
cebdan
Messages : 6
Inscription : 23 févr. 2022, 12:58
Status : Hors-ligne

Bon matin,
je vais revenir à plus scolaire:
Constituer un .so simple pour voir si la re-compilation de librairie fonctionne bien.
Merci pour les options de debug...
Répondre