Clang Liaison avec
Je reçois
ld: library not found for -lchaiscript_stdlib-5.3.1.so
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Lors de la tentative de lien à une .donc
La commande que j'utilise est.
clang++ Main.cpp -o foo -L./ -lchaiscript_stdlib-5.3.1.so
Ce que je fais mal?
libchaiscript_stdlib-5.3.1.il est dans le même répertoire que Main.cpp j'ai pensé que l'-L./ajoutez l' .donc, pour la bibliothèque de recherche de chemins.
Vous devez vous connecter pour publier un commentaire.
Oui le
-L
option ajoute le chemin de recherche, mais l'éditeur de liens ajoute le.so
(ou.a
) suffixe elle-même (tout comme il ajoute lelib
préfixe). Si vous avez seulement besoin d'avoir-lchaiscript_stdlib-5.3.1
et l'éditeur de liens se trouver.Vous pouvez également passer à l'ajout de la voie, et le lien directement avec le fichier:
Noter que l'exécution de l'éditeur de liens (qui est réellement ce qui charge les bibliothèques partagées lorsque vous exécutez votre programme) pourrait ne pas être en mesure de trouver la bibliothèque, s'il n'est pas dans l'exécution des linkers chemin. Vous pouvez dire à l' (compilation) de l'éditeur de liens pour ajouter un chemin d'accès à la commune-chemin de la bibliothèque dans le programme généré si:
La
-Wl
option indique au compilateur front-end pour passer d'une option à l'éditeur de liens, et l'éditeur de liens option-rpath
ajoute un chemin d'accès pour l'exécution de liaison chemin de recherche.-L
et-rpath
? Me semble que les deux sont utilisés pour spécifier la bibliothèque des chemins.-rpath
ajoute à la charge de la bibliothèque du chemin d'accès (lorsque le système d'exploitation charges de la bibliothèque).