首頁 > 後端開發 > C++ > 如何在 Ubuntu 上使用 CMake 將 C 程式與 Boost 連結?

如何在 Ubuntu 上使用 CMake 將 C 程式與 Boost 連結?

Mary-Kate Olsen
發布: 2024-12-03 10:08:22
原創
835 人瀏覽過

How to Link C   Programs with Boost Using CMake on Ubuntu?

在 Ubuntu 上使用 CMake 將 C 程式與 Boost 連結

問題

嘗試在 Ubuntu 上將 C 程式與 Boost庫連結時,出現以下情況可能會遇到錯誤:

main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length'
登入後複製

當必要的Boost庫沒有正確連結時會出現此錯誤

使用CMake 的解決方案

要解決此問題,必須利用CMake 的find_package 函數來定位Boost 函式庫。通常,大多數 CMake 安裝都會包含一個名為 FindBoost.cmake 的腳本。

此腳本將提供如何使用 Boost_INCLUDE_DIR 包含 Boost 頭檔和 Boost_LIBRARIES 來連結到 CMake 專案中的 Boost 函式庫的說明。以下是如何實現此目的的範例:

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})
登入後複製

其他資訊

  • 有關FindBoost.cmake 的更多信息,請參閱官方Boost 文件:[CMake docs](https ://cmake.org/Wiki/FindBoost)
  • 要存取FindBoost.cmake 的源代碼,請訪問GitHub儲存庫:[FindBoost.cmake](https://github.com/Kitware/CMake/blob/master/Modules/FindBoost.cmake)

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

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