ホームページ >バックエンド開発 >C++ >CMake を使用して C プログラムを Boost にリンクするにはどうすればよいですか?

CMake を使用して C プログラムを Boost にリンクするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-12 18:58:15509ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。