Lors de la tentative de liaison d'un programme C avec la bibliothèque Boost sur Ubuntu, les éléments suivants Une erreur peut être rencontrée :
main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length'
Cette erreur se produit lorsque la bibliothèque Boost nécessaire n'est pas correctement liée au programme.
Pour résoudre ce problème, il est essentiel d'exploiter la fonction find_package de CMake pour localiser la bibliothèque Boost. En règle générale, un script nommé FindBoost.cmake est inclus avec la plupart des installations CMake.
Ce script fournira des instructions sur la façon d'utiliser Boost_INCLUDE_DIR pour inclure les fichiers d'en-tête Boost et Boost_LIBRARIES pour créer un lien vers les bibliothèques Boost dans votre projet CMake. Voici un exemple de la façon d'y parvenir :
FIND_PACKAGE(Boost 1.40 COMPONENTS program_options REQUIRED) INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) ADD_EXECUTABLE(anyExecutable myMain.cpp) TARGET_LINK_LIBRARIES(anyExecutable LINK_PUBLIC ${Boost_LIBRARIES})
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!