如何使用Visual Studio 2015(Enterprise)构建boost 1.58.0版

Ver*_*ahn 34 c++ boost b2 visual-studio-2015

我喜欢使用(新)Visual Studio 2015(Enterprise)构建boost 1.58.0.在过去,我按以下方式进行:

  1. www.boost.org下载boost 1.58.0
  2. 提取文件(例如C:\thirdparty\vs2013\x64\boost_1_58_0)
  3. 启动Visual Studio 2013 x64命令提示符(VS2013 x64 Native Tools Command Prompt)
  4. 更改为boost目录(例如cd C:\thirdparty\vs2013\x64\boost_1_58_0)
  5. 执行 .\bootstrap.bat
  6. 执行 .\b2 -j8 --toolset=msvc-14.0 address-model=64 --build-type=complete stage
  7. b2 -j8 --toolset = msvc-12.0 address-model = 64 --build-type = complete stage --with-python

但在VS2015中没有VS2015命令提示符.

vcvarsall.bat缺少我有时用来设置VS2013命令提示符.

如何使用VS2015编译boost的源代码?

Shi*_*hah 18

不幸的是,Boost文档非常冗长,因为它试图处理所有操作系统和环境.此外,它会省略一些节省时间的细节.这是针对VS2015的快速步骤,Boost 1.61.

首先,让我们了解Boost是一个拥有大量贡献者的庞大图书馆.因此,所有Boost代码分为两部分:头文件库和头文件+ cpp库.前者不需要编译.你只需要包括它们就可以了.后来确实需要建设.您通常不需要担心额外的构建步骤,尽管只需设置一次就可以了.

使用Boost Header Only库

  1. 以7z格式下载Boost存档并使用7Zip进行提取.zip文件比7z文件大得多,Windows资源管理器提取时间超过20分钟,而7Zip提取时间超过5分钟.
  2. 创建文件夹c:\ Program Files\boost.将提取的boost_1_61_0文件夹复制到此文件夹中.这条确切的路径不是必需的,但我们会在这里使用它.
  3. 在任何想要使用Boost的VC++项目中,转到该项目,右键单击属性> C/C++>常规>其他包含目录,并添加路径C:\ Program Files\boost\boost_1_61_0,不带引号.

现在,您应该可以使用类似语句来使用大多数Boost库#include <boost/thread/mutex.hpp>.

使用Boost Header + CPP库

这些示例包括Boost.Chrono,Boost.Filesystem,Boost.GraphParallel,Boost.IOStreams,Boost.Locale,Boost.Regex,Boost.Thread,Boost.System等.除非您使用这些库,否则不需要执行以下步骤.

  1. 首先确保您没有安装Windows驱动程序工具包.如果你有,请暂时卸载它,因为它很可能已经搞砸了包含将导致Boost的构建脚本失败的路径.
  2. 以管理员身份调用VS2015 x64 Native Tools命令提示符.
  3. CD到C:\ Program Files\boost\boost_1_61_0然后运行bootstrap.bat.
  4. 运行.\ b2
  5. 运行.\ b2 variant = debug,release link = static runtime-link = static address-model = 64
  6. 剪切文件夹C:\ Program Files\boost\boost_1_61_0\stage\lib并将其复制到C:\ Program Files\boost\boost_1_61_0\lib.
  7. 对于要使用这些库的VC++ Console项目,右键单击Properties> Linker> General> Additional Library Directories并添加路径C:\ Program Files\boost\boost_1_61_0\lib.对于VC++库项目,您将在"属性">"库管理器"中找到相同的设置.

现在你们都准备好了!

注意:@Arnaud的答案解决了关于找不到命令提示符的原始问题.以上是Boost安装的更明确的步骤以及下面的步骤#5,以获取有关命令提示符的更多详细信息.

  • 不幸的是,对于任何搜索如何在VC++中使用Boost的人来说,这个问题都是最重要的.您的问题和其他答案描述了该过程,但并不完全准确.最初我想在评论中加以纠正,但是它太长了以至于无法适应那里,所以我创造了新的答案.#5以上也与您的问题相关.无论如何,我在你原来的问题上添加了一个注释. (2认同)

Arn*_*aud 15

我试图安装Qt,我遇到了同样的问题:vcvarsall.bat丢失了.在我的情况下,问题是我取消选中Visual C++ Common Tools.

我修改了我的VS 2015安装并添加了缺少的功能Visual C++ 2015常用工具:

在此输入图像描述

修改后,文件位于C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\VC中