Maison >développement back-end >C++ >Pourquoi « link_directories » de CMake ne parvient-il pas à trouver les bibliothèques à moins qu'il ne soit placé avant « add_executable » ?

Pourquoi « link_directories » de CMake ne parvient-il pas à trouver les bibliothèques à moins qu'il ne soit placé avant « add_executable » ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-02 13:09:13281parcourir

Why Does CMake's `link_directories` Fail to Find Libraries Unless Placed Before `add_executable`?

"link_directories" de CMake ne parvient pas à localiser les bibliothèques

Lorsque vous rencontrez des erreurs de l'éditeur de liens indiquant des références manquantes aux fonctions d'une bibliothèque, malgré l'utilisation de "link_directories" dans CMake, il est crucial d'inspecter l'ordre de vos commandes. La solution consiste à garantir que la directive "link_directories" précède l'invocation "add_executable", comme démontré ci-dessous :

link_directories(/usr/lib/x86_64-linux-gnu)
add_executable(test main.cpp)

Au départ, l'idée fausse était que "link_directories" devait seulement apparaître avant "target_link_libraries". Cependant, le placer avant "add_executable" a résolu le problème, permettant à CMake de lier avec succès la bibliothèque requise.

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