首頁 > 後端開發 > C++ > 如何使用 CMake 成功連結 C 程式與 Boost?

如何使用 CMake 成功連結 C 程式與 Boost?

Susan Sarandon
發布: 2024-12-12 18:58:15
原創
498 人瀏覽過

How to Successfully Link a C   Program with Boost Using CMake?

使用 CMake 將 C 程式與 Boost 連結

本指南解決了使用 CMake 將 C 程式與 Boost 庫連結的問題。當嘗試連結程式時,使用者可能會遇到諸如「對`boost::program_options::options_description::m_default_line_length'的未定義引用」之類的錯誤。

CMake Configuration for Linking

要解決此問題,請修改 CMake文件以包含以下內容行:

find_package(Boost 1.40 COMPONENTS program_options REQUIRED)
include_directories(${Boost_INCLUDE_DIR})

add_executable(my_target_file main.cpp)

target_link_libraries(my_target_file LINK_PUBLIC ${Boost_LIBRARIES})
登入後複製

程式碼說明

  • find_package(Boost):找出Boost庫及其元件,在本例中為program_options。
  • include_directories():將Boost包含目錄新增至搜尋中path.
  • add_executable():從 main.cpp 原始檔建立一個名為 my_target_file 的執行檔。
  • target_link_libraries():將 Boost 函式庫連結到執行檔。

替代方案方法

如果find_package方法失敗,可以手動指定Boost庫路徑和名稱,如下圖:

include_directories(/path/to/Boost/include)

target_link_libraries(my_target_file ${Boost_PROGRAM_OPTIONS_LIBRARY})
登入後複製

其他資源

  • [官方CMake 文件FindBoost](https://cmake.org/cmake/help/v3.21/module/FindBoost.html)
  • [GitHub 上的FindBoost.cmake 來源程式碼](https://github.com/Kitware /CMake/blob/master/Modules/FindBoost.cmake)

以上是如何使用 CMake 成功連結 C 程式與 Boost?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板