如何将BOOST_ROOT和BOOST_LIBRARY传递给CMake?

时间:2016-08-11 20:23:22

标签: boost cmake

我想为python安装dlib模块我已经安装了 CMake boost-python 但是当我安装dlib时它给了我错误:

  

我们找不到正确版本的boost python。如果您安装了boost并且仍然遇到此错误,那么您可能已经安装了使用与您正在使用的版本不同版本的Visual Studio编译的boost版本。所以你必须确保visual studio的版本与用于编译你正在使用的boost副本的版本相同。    - 在运行cmake之前设置BOOST_ROOT和BOOST_LIBRARYDIR环境变量。

E.g。像这样:

set BOOST_ROOT=C:\local\boost_1_57_0

set BOOST_LIBRARYDIR=C:\local\boost_1_57_0\stage\lib

我无法弄清楚如何设置BOOST_ROOTBOOST_LIBRARYDIR路径。

2 个答案:

答案 0 :(得分:1)

要在运行CMake之前临时设置环境变量,您可以在控制台中键入这些命令:

set BOOST_ROOT=C:\local\boost_1_57_0
set BOOST_LIBRARYDIR=C:\local\boost_1_57_0\stage\lib
cmake ...

要永久设置它们,您可以使用setx或点击Windows GUI。

我建议不要采用这些方法,将这些变量直接传递给CMake的方式更加清晰可靠:

cmake -DBOOST_ROOT=C:\local\boost_1_57_0 -DBOOST_LIBRARYDIR=C:\local\boost_1_57_0\stage\lib

答案 1 :(得分:0)

只需在使用cmake进行-D通话后添加它们即可。在您的情况下将是

cmake -DBOOST_ROOT=C:\local\boost_1_57_0 -DBOOST_LIBRARYDIR=C:\local\boost_1_57_0\stage\lib ..

您应该在给定命令之前清除CMake缓存(删除构建目录或仅删除CMakeCache.txt文件)。