Maison >développement back-end >C++ >Comment lier facilement les bibliothèques Boost à votre projet C à l'aide de CMake ?

Comment lier facilement les bibliothèques Boost à votre projet C à l'aide de CMake ?

DDD
DDDoriginal
2024-12-05 07:23:10757parcourir

How to Easily Link Boost Libraries to Your C   Project Using CMake?

Comment lier facilement un programme C à Boost à l'aide de CMake

Lier votre programme C à la bibliothèque Boost peut être une tâche ardue, en particulier sur Ubuntu. Cependant, CMake propose une solution simple pour simplifier ce processus.

Le problème

Lorsque vous essayez de lier votre programme, vous pouvez rencontrer une erreur telle que :

main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length'

Cette erreur indique que votre programme ne trouve pas les en-têtes Boost nécessaires.

Le Solution

Pour résoudre ce problème, suivez ces étapes :

target_link_libraries(
my_target_file
${Boost_PROGRAM_OPTIONS_LIBRARY}
)

Cette commande CMake relie votre fichier cible à la bibliothèque Boost appropriée.

FindBoost.cmake

Vous pouvez également utiliser le module FindBoost.cmake de CMake pour localiser et intégrez Boost dans votre projet :

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} )

Documentation

Pour des informations plus détaillées et des exemples :

  • [Documentation officielle de Boost pour FindBoost.cmake](https://cmake.org/Wiki/Boost)
  • [FindBoost.cmake源码](https://github.com/Kitware/CMake/blob/master/Modules/FindBoost. cmake)

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