Maison >développement back-end >C++ >Pourquoi « link_directories » de CMake ne parvient-il pas à trouver ma bibliothèque malgré la spécification du chemin correct ?

Pourquoi « link_directories » de CMake ne parvient-il pas à trouver ma bibliothèque malgré la spécification du chemin correct ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-10 20:31:15342parcourir

Why Does CMake's `link_directories` Fail to Find My Library Despite Correct Path Specification?

CMake : Link_Directories ne parvient pas à localiser la bibliothèque

Problème :

Dans un fichier basé sur CMake projet avec un répertoire src et build, une bibliothèque nommée "protobuf" est introuvable malgré l'utilisation de link_directories command.

Détails :

  • src/CMakeLists.txt inclut une configuration CMake avec link_directories pointant vers "/usr/lib/x86_64-linux-gnu, " l'emplacement de libprotobuf.so.
  • Le CMakeLists.txt comprend également Commandes add_executable et target_link_libraries.
  • main.cpp fait référence aux fonctions de libprotobuf.so mais rencontre des erreurs de référence non définies au moment de la liaison.
  • Utilisation du chemin complet vers libprotobuf.so dans la commande target_link_libraries au lieu de link_directories aboutit à du succès liaison.

Solution :

Assurez-vous que la commande link_directories apparaît avant non seulement target_link_libraries mais également add_executable dans le fichier CMakeLists.txt.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn