Beim Versuch, ein C-Programm mit der Boost-Bibliothek unter Ubuntu zu verknüpfen, geschieht Folgendes Es kann ein Fehler auftreten:
main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length'
Dieser Fehler tritt auf, wenn die erforderliche Boost-Bibliothek nicht ordnungsgemäß mit dem verknüpft ist Programm.
Um dieses Problem zu beheben, ist es wichtig, die Funktion „find_package“ von CMake zu nutzen, um die Boost-Bibliothek zu finden. Normalerweise ist in den meisten CMake-Installationen ein Skript namens FindBoost.cmake enthalten.
Dieses Skript enthält Anweisungen zur Verwendung von Boost_INCLUDE_DIR zum Einbinden von Boost-Headerdateien und von Boost_LIBRARIES zum Verknüpfen mit Boost-Bibliotheken in Ihrem CMake-Projekt. Hier ist ein Beispiel, wie Sie dies erreichen können:
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})
Das obige ist der detaillierte Inhalt vonWie verknüpfe ich C-Programme mit Boost mithilfe von CMake unter Ubuntu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!