如何在带有 VS 2019 预览版的 Windows 10 中安装 boost

2023-11-27

我搜索了很多,但没有找到任何有用的分步指南来在带有 VS 2019 Preview 的 Windows 10 中安装、配置和构建 boost。你们中的任何人都可以指导我完成这项任务吗?

我已经下载了 boost 1.70,但是当我执行 bootstrap.bat 时,它给出以下消息:

C:\libraries\boost\boost_1_70_0>bootstrap.bat
Building Boost.Build engine

Failed to build Boost.Build engine.
Please consult bootstrap.log for further diagnostics.

C:\libraries\boost\boost_1_70_0>

该文件本身包含以下文本:

c:\libraries\boost\boost_1_70_0\tools\build\src\engine>if exist bootstrap rd /S /Q bootstrap 

c:\libraries\boost\boost_1_70_0\tools\build\src\engine>md bootstrap 

c:\libraries\boost\boost_1_70_0\tools\build\src\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0  command.c compile.c constants.c debug.c execcmd.c execnt.c filent.c frames.c function.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c object.c option.c output.c parse.c pathnt.c pathsys.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c class.c cwd.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c 
command.c
compile.c
constants.c
debug.c
execcmd.c
execnt.c
filent.c
frames.c
function.c
glob.c
hash.c
hdrmacro.c
headers.c
jam.c
jambase.c
jamgram.c
lists.c
make.c
make1.c
object.c
Generating Code...
Compiling...
option.c
output.c
parse.c
pathnt.c
pathsys.c
regexp.c
rules.c
scan.c
search.c
subst.c
timestamp.c
variable.c
modules.c
strings.c
filesys.c
builtins.c
md5.c
class.c
cwd.c
w32_getreg.c
Generating Code...
Compiling...
native.c
set.c
path.c
regex.c
property-set.c
sequence.c
order.c
Generating Code...

当我尝试 boost 1.68 时,我可以成功运行 bootstrap.bat,但是当我执行 b2.exe 时,它​​会显示以下消息:

warning: Did not find command for MSVC toolset. If you have Visual Studio 2017 installed you will need to specify the full path to the command, set VS150COMNTOOLS for your installation, or build from the 'Visual Studio Command Prompt for VS 2017'.

您目前无法使用以下方式构建 BoostPreview,但您可以使用刚刚发布的常规 2019 年版。我也有同样的问题。安装 2019 年常规版和所需功能大约需要十分钟。您可以同时拥有两者。

为了供将来参考,这里是我关于如何在 Windows 上构建支持 MPI 和 python 的 boost 的笔记。

使用 VS 2019 在 Windows 上构建 Boost

需要 Visual Studio 2019 非预览版、任何版本、所有 C++ 和 Windows SDK 内容。

注意:如果您同时拥有 C++ 和 Windows SDK 内容,请暂时从 VS Preview 中卸载它们。理想情况下系统上只有一个编译器,这样Boost.build不会感到困惑。

接下来,假设您安装了 git-for-windows,创建一个名为的 UPROTECTED 文件夹/Boost/。在里面执行

git clone https://github.com/boostorg/boost.git --recursive 

克隆 boost 超级项目仓库。接下来,执行

cd boost

现在你在/Boost/boost。 使用以下命令查看开发人员分支(获取最新更新)

git checkout develop -f

其中 -f 强制更新。

接下来,我们将展示如何使用 Visual Studio 开发人员控制台在 boost 文件夹中运行 bootstrap。要激活此控制台,请使用 Windows 搜索栏“在此输入进行搜索”对于“开发人员命令提示符”,或打开 Visual Studio 并使用顶部的搜索栏。

注意1:如果您遇到访问错误,则必须激活管理 Visual Studio 开发人员控制台。 打开cmd在管理模式下并运行 VsDevCmd.bat,该文件激活 Visual Studio 开发人员控制台。

注2:请参阅有关替代运行的评论bootstrap vc142 (or bootstrap vc<your visual-C++ version number>)

现在,执行:

bootstrap 

如果您尚未执行此操作,请通过安装适用于最新版本的 Microsoft MPI 的两个文件来安装 Microsoft MPI。 据了解,其正在与版本10,需要将 SDK(.msi 文件)和非 SDK(.exe 文件)文件安装到默认位置。不要修改这些位置。

然后修改project-config.jam中的/Boost/boost/目录如下:

(顺便说一句,每行后面都有空格[常规空格],甚至是空行)

# Boost.Build Configuration 
# Automatically generated by bootstrap.bat 
 
import option ; 
 
#latest toolset by default 
using msvc ; 

#in case you specified a toolset with bootstrap 
#using msvc: 14.2; 

option.set keep-going : false ; 
 
using python ; 
 
using mpi ; 

最后两行假设您需要 mpi 和 python 支持。

现在打开 Visual Studio 开发者控制台并导航 (cd) 到 boost 文件夹/Boost/boost。由于我们使用的是 VS 2019 中的 Visual C++ 编译器,显然我们不需要b2 install任何内容(请参阅入门指南中的第 5.1 - 5.2 节)。那么接下来我们唯一需要做的就是运行

b2 -j8 --address-model=64

选项包括

  • --toolset=14.xx[指定 vs 编译器版本 14.15 等](或toolset没有--,有人告诉我,不确定哪一个是正确的,请告诉我,对我来说这是--。如果你跑了就不需要了bootstrap vc14x)
  • -a重建所有
  • -j88核编译
  • --address-model=64 (or address-model没有--,有人告诉我,不确定哪一个是正确的,请告诉我,对我来说这是--) 对于 64 位
  • > my_log.txt最后记录构建中输出的大量文本,以供以后使用(确保一切正常)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在带有 VS 2019 预览版的 Windows 10 中安装 boost 的相关文章

  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 没有特殊字符的密码验证器

    我是 RegEx 的新手 已经进行了大量搜索 但没有找到任何具体内容 我正在编写一个验证密码字符串的正则表达式 可接受的字符串必须至少具有 4 种字符类型中的 3 种 数字 小写字母 大写字母 特殊字符 我对包含有一个想法 也就是说 如果这
  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何在 Linq to SQL 中使用distinct 和 group by

    我正在尝试将以下 sql 转换为 Linq 2 SQL select groupId count distinct userId from processroundissueinstance group by groupId 这是我的代码
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 如何从Windows阻止社交媒体[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我想根据时间阻止我的电脑上的社交媒体 晚上 9 点后屏蔽 上午 11 点后解锁 如家长控制 我尝试过关注但失败了 创建了
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置

随机推荐

  • include "file.h" 与 有什么区别?

    我正在 Visual studio 2010 中工作 我在项目属性 gt 链接器 gt 常规 gt 其他目录中添加了一个目录 如果我使用该项目可以编译 file h 但如果我使用则不会
  • 如何使用 Java 中的 DateFormat 解析月份完整形式字符串?

    我试过这个 DateFormat fmt new SimpleDateFormat MMMM dd yyyy Date d fmt parse June 27 2007 error Exception in thread main java
  • 工具提示和弹出窗口在 Bootstrap 5 中不起作用

    我使用 Bootstrap 5 创建了一个非常小的网站 我使用 工具提示 和 弹出窗口 在页面底部创建了 2 个按钮 但它们不起作用 没有显示任何内容 这是我的网站 位于页面底部 https www mathieulebert fr 这是
  • Java:将多个数组交错成一个数组

    I found similar关于将两个数组列表交错为一个的问题 但它是在 PHP 中 我在面试中也被问到这个问题 但无法解决 回到SO看看是否已经解决 但我只能找到这个paper 那么有指向伪代码或方法定义的指针吗 Big O 限制 O
  • 为什么临时获取右值地址是非法的?

    根据 如何绕过警告 右值用作左值 Visual Studio 只会对如下代码发出警告 int bar return 3 void foo int ptr int main foo bar 在 C 中是不允许获取临时地址 或者至少是由某个对象
  • 使用 2 种可能的布局查看绑定,将绑定变量分配给 2 个生成的绑定类

    所需功能 我有一个活动 它有一个从后端收到的值 该值指示使用两种布局之一 我们称这个值为布局类型为了简单起见 在下面的示例代码中我们假设我们不关心它将如何分配 因此 我有两个布局 xml 文件 我们称它们为布局1 xml 布局2 xml 执
  • 在头文件与实现文件目标 c 中定义属性

    在基于页面的应用程序模板中 我在实现 m 文件中经常看到这种情况 interface ModelController property readonly strong nonatomic NSArray pageData end 为什么不在
  • 需要使用虚拟化和按需加载的 WPF TreeView 搜索示例

    我需要在WPF中实现搜索功能TreeView 基本上我需要记住最后的用户选择 我尝试过建议的各种方法 但没有任何效果virtualization已在我的中启用TreeView并且子节点仅在父节点展开时才加载 延迟加载 有人知道有一个示例同时
  • 将计算机加入工作组

    如何查询特定工作组中所有可访问的计算机 您可以使用活动目录 API 检查目录项类 不要忘记添加对System DirectoryServices dll 这是一个简短的例子 using DirectoryEntry workgroup ne
  • 通过管道发送多个文件

    我们正在使用express 4 现在我有这样的东西 var express require express router express Router router get local modules function req res ne
  • 谷歌地图 API,提供的 API 密钥无效

    这是我第一次在堆栈溢出上发布问题 真心希望大家能帮忙 我第一次尝试使用谷歌地图地理编码 api 但无法让它工作 我使用的网址格式是 https maps googleapis com maps api geocode json addres
  • Qt 应用程序 UI 元素在 Docker 中随机呈现为空白/黑色

    我准备了Dockerfile构建我的 Docker 镜像Qt应用程序 要运行应用程序 我使用 X 我启用对 X 服务器的访问 xhost local root 然后我使用以下命令来运行它 docker run it env DISPLAY
  • 保留的 Python 模块/包名称是什么?

    我在使用 Python 单元测试时遇到了一个奇怪的错误 我的项目中有两个文件夹 project code init py empty app py defines my App class test test py contains my
  • 快速 firestore 检查文档是否存在

    使用 swift 和 firestore 我想检查 已使用的用户名 集合以查看用户名是否已被使用 以及它是否已提醒用户它已被使用 否则如果它仍然可用 我想创建该文件 我想要做的要点概述如下 我可以毫无问题地保存数据 尽管它检查其文档是否存在
  • 如何让RACSignal变热?

    ReactiveCocoa 可以通过调用它的方法将信号转换为 热 信号 subscribeCompleted 但我认为如果您不关心结果 即没有订阅者 则此方法非常冗长 RACDisposable animationDisposable se
  • notifyDataSetChanged 更新ListView失败

    I have a DialogFragment which has a list view with CheckedTextView and a checkbox at the top to Check and uncheck all th
  • 如何使用 Soundcloud Javascript SDK 进行流式传输,在上一个曲目完成后自动移至下一个声音?

    我是 Javascript 和 Soundcloud SDK 的新手 所以如果我当前的解决方案偏离基础 请告诉我如何改进它 我正在构建一个自定义 Soundcloud 播放器 而不是使用预构建的小部件 我正在寻找自动地一首曲目播放完毕后移至
  • numpy 是否自动针对树莓派进行优化

    Raspberry Pi armv7l 架构 具有 neon vfpv4 支持 可用于优化 标准版numpy在安装命令时是否包含这些优化pip3 install numpy or apt get python3 numpy 我不是在谈论 b
  • 显示段落的第一行

    我有一个带有多行段落的 DIV 有什么方法 也许使用 jQuery 只显示段落的第一行并隐藏其他行 这是一种 某种程度上 将段落设置为白底白字的方法 除了 第一行 http jsbin com usora4 2 edit CSS 片段 p
  • 如何在带有 VS 2019 预览版的 Windows 10 中安装 boost

    我搜索了很多 但没有找到任何有用的分步指南来在带有 VS 2019 Preview 的 Windows 10 中安装 配置和构建 boost 你们中的任何人都可以指导我完成这项任务吗 我已经下载了 boost 1 70 但是当我执行 boo