4

CMake を使用してプロジェクトをビルドしようとしています。ブーストも使っています。私の CMakeLists.txt ファイルの find package ステートメントは次のとおりです。

find_package(Boost 1.42 必要なコンポーネント

パイソン

システム

ファイルシステム

連載

スレッド

program_options

正規表現

test_exec_monitor )

ビルドが失敗し、次のエラー メッセージが表示されます: The following Boost libraries could not be found:

      boost_system
      boost_filesystem
      boost_serialization
      boost_thread
      boost_program_options

lib ディレクトリを確認すると、ライブラリが名前によるものであることがわかります: libboost< library_name >-vc100-mt.lib で、boost_< Library_name > ではありません。

実際、boost_< LibraryName > プレフィックスに従って、lib ファイル内の単一のライブラリの名前を変更しても、そのライブラリについて文句はありません。

同じことに対して2つの解決策があります:

1. CMakeLists.txt ファイルを変更して、正しい Prefix( および suffix ) を持つライブラリを検索するようにします。

2.その他

最高のものは何でしょうか。

4

1 に答える 1

6

FindBoost.cmakeから

これらの最後の 3 つの変数は、環境変数としても使用できます。また、Boost_DIR を除き、すべて大文字であることに注意してください。

Boost_DIR またはBOOST_ROOTまたはBOOTROOT Boostを検索するための優先インストールプレフィックス 。モジュールが適切な Boost インストールを見つけるのに問題がある場合は、これを設定します。

これらの変数を使用して、ブースト ライブラリがインストールされているフォルダーを指定します。例えば

cmake .. -DBOOST_ROOT=C:/ブースト

于 2013-01-15T06:30:03.470 に答える