Maison >développement back-end >C++ >Pourquoi mon compilateur ne trouve-t-il pas ma bibliothèque (incompatibilité d'indicateur -l) ?
Résolution des erreurs de liaison avec les discordances "-l"
Lors de la compilation de votre programme, vous rencontrez le message d'erreur "usr/bin/ld : impossible find -l
En général, l'indicateur "l" spécifie une bibliothèque à laquelle établir un lien, mais si l'éditeur de liens ne parvient pas à trouver la bibliothèque, il affichera cette erreur. Pour diagnostiquer ce problème plus en détail, il est utile d'enquêter sur ce que recherche l'éditeur de liens.
Utilisation du mode détaillé
L'éditeur de liens fournit un mode détaillé qui peut faire la lumière sur le problème. bibliothèques qu'il tente de localiser. Pour passer en mode détaillé, utilisez la commande suivante avant d'appeler l'éditeur de liens :
LD_DEBUG=all
Par exemple, considérez l'erreur "usr/bin/ld : impossible de trouver -lzlib" lors de la compilation. L'exécution de la commande suivante avec LD_DEBUG=all fournira des informations de débogage détaillées :
LD_DEBUG=all ld -lzlib --verbose
Décodage de la sortie
La sortie en mode détaillé peut révéler le chemin spécifique où l'éditeur de liens recherche la bibliothèque et s'il peut trouver les fichiers requis. Il listera tous les répertoires dans lesquels il recherche et indiquera si le fichier de bibliothèque correspondant (.so ou .a) a été trouvé.
Résoudre le problème
Si le message verbeux La sortie indique que le fichier de bibliothèque réel n'existe pas au chemin attendu, vous devrez fournir un lien symbolique vers l'emplacement correct. Par exemple, dans le cas de la bibliothèque ZLIB, lier le lien symbolique suivant peut résoudre le problème :
sudo ln -s /usr/lib/libz.so.1.2.8 /usr/lib/libzlib.so
En suivant ces étapes, vous pouvez identifier la bibliothèque manquante et créer le lien symbolique nécessaire pour établir un lien avec le fichier de bibliothèque correct, permettant à votre compilation de se dérouler avec succès.
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!