Problème de compilation en C

Résolu/Fermé
Marpioux Messages postés 5 Date d'inscription mercredi 25 mai 2022 Statut Membre Dernière intervention 30 mai 2022 - 30 mai 2022 à 15:54
Nyouz Messages postés 9 Date d'inscription dimanche 1 août 2021 Statut Membre Dernière intervention 31 mai 2022 - 30 mai 2022 à 22:22
Bonjour j'ai un problème, pour un projet universitaire je dois créer un démineur avec la librairie libsx (sous Ubuntu).

J'ai bien téléchargé la bibliothèque Libsx mais quand j'écris le programme de test de la bibliothèque ces erreurs s'affichent à la compilation.

Quelqu'un saurait comment résoudre ça?

3 réponses

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié le 30 mai 2022 à 18:02
Salut Marpioux,

Avec Ubuntu, comme sur toute autre distribution Linux disposant d'un système de paquets, tu installes cette bibliothèque par les paquets de ta distribution et non pas en téléchargeant un truc d'un site. Ubuntu ira chercher les éléments de la bibliothèque dans les dépôts officiels Ubuntu et les installera là où ton compilateur et linker pourra les trouver, en gérant les dépendances du paquet.

N'installe rien autrement sous Linux qu'en passant par les dépôts officiels de ta distribution, sauf si tu sais très exactement pourquoi tu déroges à cette règle et que tu sais ce que tu fais.

Donc :

sudo apt-get install libsx-dev


Ensuite, pour compiler, tu devras passer à gcc les paramètres de liaison vers cette bibliothèque, avec l'option
-l
à la fin de la ligne de commande.

Donc, en reprenant ta ligne de commande de compilation :

gcc main.c -o test -lsx


l'option
-lsx
se déduirait du fait que le paquet comprend le binaire compilé
libsx.a
pour cette bibliothèque comme on peut le voir dans la liste des fichiers contenus :

https://packages.ubuntu.com/fr/bionic/amd64/libsx-dev/filelist

et que l'option passée au linker par gcc se construit en retirant le préfixe "lib" et l'extension ".a".

(non testé, je n'utilise pas cette bibliothèque)


Dal
1
Marpioux Messages postés 5 Date d'inscription mercredi 25 mai 2022 Statut Membre Dernière intervention 30 mai 2022
30 mai 2022 à 20:10
Parfait tout marche, je ne savais pas cette solution :))

Marpioux
0
Nyouz Messages postés 9 Date d'inscription dimanche 1 août 2021 Statut Membre Dernière intervention 31 mai 2022
30 mai 2022 à 22:22
merci
0