Problème de compilation en C

Résolu
Marpioux Messages postés 5 Statut Membre -  
Nyouz Messages postés 13 Statut Membre -
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 6373 Statut Contributeur 1 106
 
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 Statut Membre
 
Parfait tout marche, je ne savais pas cette solution :))

Marpioux
0
Nyouz Messages postés 13 Statut Membre
 
merci
0