Heim > Backend-Entwicklung > C++ > Wie verknüpfen Sie Boost-Bibliotheken mithilfe von CMake einfach mit Ihrem C-Projekt?

Wie verknüpfen Sie Boost-Bibliotheken mithilfe von CMake einfach mit Ihrem C-Projekt?

DDD
Freigeben: 2024-12-05 07:23:10
Original
555 Leute haben es durchsucht

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

So verknüpfen Sie ganz einfach ein C-Programm mit Boost mithilfe von CMake

Das Verknüpfen Ihres C-Programms mit der Boost-Bibliothek kann insbesondere eine entmutigende Aufgabe sein auf Ubuntu. CMake bietet jedoch eine unkomplizierte Lösung, um diesen Prozess zu vereinfachen.

Das Problem

Beim Versuch, Ihr Programm zu verknüpfen, kann ein Fehler wie der folgende auftreten:

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

Dieser Fehler weist darauf hin, dass Ihr Programm die erforderlichen Boost-Header nicht finden kann.

Die Lösung

Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

target_link_libraries(
my_target_file
${Boost_PROGRAM_OPTIONS_LIBRARY}
)
Nach dem Login kopieren

Dieser CMake-Befehl verknüpft Ihre Zieldatei mit der entsprechenden Boost-Bibliothek.

FindBoost.cmake

Alternativ können Sie das FindBoost.cmake-Modul von CMake verwenden, um und automatisch zu finden Integrieren Sie Boost in Ihr Projekt:

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} )
Nach dem Login kopieren

Dokumentation

Für detailliertere Informationen und Beispiele:

  • [Offizielle Boost-Dokumentation für FindBoost.cmake](https://cmake.org/Wiki/Boost)
  • [FindBoost.cmake源码](https://github.com/Kitware/CMake/blob/master/Modules/FindBoost. cmake)

Das obige ist der detaillierte Inhalt vonWie verknüpfen Sie Boost-Bibliotheken mithilfe von CMake einfach mit Ihrem C-Projekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage