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
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
A voir également:
- Problème de compilation en C
- Breach compilation - Guide
- Compiler plusieurs pdf en un seul - Guide
- Erreur de compilation type défini par l'utilisateur non défini ✓ - Forum VB / VBA
- Compilation année 80 télécharger gratuit - Forum Musique / Radio / Clip
- Compilation error: expected ')' before ';' token ✓ - Forum C
3 réponses
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié le 30 mai 2022 à 18:02
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 :
Ensuite, pour compiler, tu devras passer à gcc les paramètres de liaison vers cette bibliothèque, avec l'option
Donc, en reprenant ta ligne de commande de compilation :
l'option
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
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
-lsxse déduirait du fait que le paquet comprend le binaire compilé
libsx.apour 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
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
30 mai 2022 à 20:10
Parfait tout marche, je ne savais pas cette solution :))
Marpioux
Marpioux
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
30 mai 2022 à 22:22
merci