Ubuntu で C プログラムを Boost ライブラリにリンクしようとすると、次のような問題が発生しますエラーが発生する可能性があります:
main.cpp:(.text+0x3b): undefined reference to `boost::program_options::options_description::m_default_line_length'
このエラーは、必要なときに発生します。 Boost ライブラリがプログラムに正しくリンクされていません。
この問題を解決するには、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})
以上がUbuntu で CMake を使用して C プログラムを Boost にリンクする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。