"usr/bin/ld : impossible de trouver -l
Lors de la compilation d'un programme, l'erreur "usr/bin/ld : impossible de trouver -l
1. Vérifier l'existence de la bibliothèque :
Assurez-vous que la bibliothèque à laquelle vous faites référence existe à l'emplacement spécifié. Exécutez la commande suivante pour répertorier toutes les bibliothèques disponibles :
ldconfig -p | grep <nameOfTheLibrary>
2. Validation du lien symbolique :
Si vous avez créé un lien symbolique vers la bibliothèque, confirmez qu'il est correct et qu'il pointe vers le fichier de bibliothèque réel. Utilisez la commande "ls -l" pour afficher le lien :
ls -l <symbolicLink>
3. Sortie de l'éditeur de liens détaillé :
Pour déterminer les fichiers spécifiques recherchés par l'éditeur de liens, exécutez-le en mode détaillé. Ajoutez l'indicateur "--verbose" à la commande de liaison :
ld -l<nameOfTheLibrary> --verbose
La sortie affichera tous les répertoires et fichiers potentiels pris en compte par l'éditeur de liens.
4. Installer les bibliothèques manquantes :
Si la bibliothèque n'existe pas ou ne peut pas être localisée, installez-la à l'aide de votre gestionnaire de packages. Par exemple, sur un système basé sur Debian :
sudo apt-get install <nameOfTheLibrary>-dev
5. Ajouter le chemin de la bibliothèque à la commande :
Dans certains cas, l'éditeur de liens peut ne pas être en mesure de trouver automatiquement la bibliothèque. Vous pouvez spécifier manuellement le chemin de la bibliothèque à l'aide de l'indicateur "-L" :
g++ -o myprogram myprogram.cpp -l<nameOfTheLibrary> -L/path/to/library
Exemple :
Pour résoudre le problème décrit dans le problème référencé, où le l'éditeur de liens n'a pas pu trouver la bibliothèque ZLIB :
sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!