【问题标题】:How to build cpp-netlib with MSVC (cmake)如何使用 MSVC (cmake) 构建 cpp-netlib
【发布时间】:2013-12-30 01:37:03
【问题描述】:

我尝试在安装了 MSVC 12 以及最新的 cmake 和 git 的 win 8.1 上的 MSys git bash 中执行此操作:

$> git clone https://github.com/cpp-netlib/cpp-netlib.git
$> cd cpp-netlib
$> git submodules update --init
$> cd deps
## here I unzip the boost folder into boost
## i.e. cpp-netlib/deps/boost/ contains bjam, bootstrap and the boost include dir
$> cd boost && bootstrap.bat && ./b2.exe
$> cd ../ && mkdir build && cd build
$> cmake -G"Visual Studio 12" -DBOOST_ROOT="../deps/boost" ../

这失败了:请我设置 BOOST_ROOT。

这有什么问题?

感谢您的帮助

【问题讨论】:

  • Running cmake . -DBoost_DEBUG=ON 应该会输出一堆关于 CMake 如何尝试查找提升的调试信息。如果这不能明确答案,您能否将该输出添加到您的问题中,以及一个已构建的 boost 库的路径和名称示例?

标签: git visual-c++ boost cmake cpp-netlib


【解决方案1】:

cpp-netlib 库依赖于boost,它需要知道它的安装位置以便找到它。所以只需将BOOST_ROOT 环境变量设置为您机器上boost 库的位置。例如。

set BOOST_ROOT=C:\libraries\boost\boost_1_55_0

注意:如果您打算使用加密,您可能还需要安装OpenSSL

【讨论】:

  • 是说不安装就不能使用boost libs依赖吗?目前我已经在 deps/boost 中检查并内置了 boost 库
  • BOOST_ROOT 是环境变量而不是宏。在调用cmake 之前,需要将其设置为deps/boost 的绝对路径。将其设置为宏(如您对 cmake 的调用)将不起作用。
  • 谢谢,不过我不想安装 boost。有问题吗?
  • 总之是的!但是,您之前说过您已经签出并构建了boost,因此您已经安装了它。只需通过设置BOOST_ROOT 环境变量让cpp-netlib 知道在哪里。
  • 我只是在我下载它的地方构建了它,正如我在我的问题中所写的那样。但是如果我指出这条路径即使是绝对的,它也找不到它
猜你喜欢
  • 2014-12-12
  • 1970-01-01
  • 2013-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-21
  • 2012-01-23
相关资源
最近更新 更多