11

Boost の複数のバージョンがインストールされています (Windows 7/MinGW)。特定のもの (1.53.0) を使用する必要があります。

CMakeFiles.txt ファイルで BOOST_ROOT を定義しましたが、次の SET(BOOST_ROOT C:/boost_1_53_0/)エラーが発生し続けます。

> cmake .
BOOST_ROOT=C:/boost_1_53_0/
CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:1191 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.48.0

  Boost include path: C:/Boost/include/boost-1_48

  Detected version of Boost is too old.  Requested version was 1.53 (or
  newer).

  The following Boost libraries could not be found:

          boost_filesystem

  No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
  directory containing Boost libraries or BOOST_ROOT to the location of
  Boost.

環境変数として BOOST_ROOT も定義しましたが、結果は同じでした。

cmakeがまだ古いバージョンを探しているのはなぜですか?

4

3 に答える 3

23

これを試して:

cmake -DBOOST_ROOT=path
于 2013-11-06T07:14:26.827 に答える
6

Visual Studio 用の Boost ライブラリのプリコンパイル済みバージョンを使用している場合、それらは特定のフレーバーの MSVC バージョンとビット数で提供されます。CMake をその特定の場所に向ける必要がありました。私の場合、BOOST_ROOT を C:/local/boost_1_59_0 に設定し、BOOST_LIBRARYDIR を C:/local/boost_1_59_0/lib64-msvc-11.0 に設定すると役に立ちました。

于 2015-10-20T22:26:27.493 に答える