【问题标题】:How to pass BOOST_ROOT and BOOST_LIBRARY to CMake?如何将 BOOST_ROOT 和 BOOST_LIBRARY 传递给 CMake?
【发布时间】:2016-08-11 20:23:22
【问题描述】:

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

我们找不到合适的 boost python 版本。如果您安装了 boost 并且仍然收到此错误,那么您可能安装了一个 boost 版本,该版本是使用与您正在使用的不同版本的 Visual Studio 编译的。因此,您必须确保 Visual Studio 的版本与用于编译您正在使用的 boost 副本的版本相同。 -- 在运行 cmake 之前设置 BOOST_ROOT 和 BOOST_LIBRARYDIR 环境变量。

例如像这样的:

set BOOST_ROOT=C:\local\boost_1_57_0

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

我不知道如何设置BOOST_ROOTBOOST_LIBRARYDIR 路径。

【问题讨论】:

    标签: boost cmake


    【解决方案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
    

    【讨论】:

    • 根据您的解决方案设置变量后,当我在命令行中运行“pip install dlib”时出现相同的错误,即“设置 BOOST_ROOT 和 BOOST_LIBRARYDIR”,但是 boost 已成功安装。
    • 如何在 cmake gui 中设置这些变量?
    【解决方案2】:

    只需在使用-D 调用cmake 之后添加它们。在你的情况下,那将是

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 2011-07-12
      • 2014-10-21
      相关资源
      最近更新 更多