我进行了大量搜索,但没有找到任何有用的逐步指南来在带有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'.
答案 0 :(得分:0)
我怀疑您不是在boost
窗口中构建Visual Studio tools Command Prompt
。
在此处How to build 64-bit boost for visual studio on windows using the address-model flag?和此处How to build Boost 1.64 in 64 bits?
查看我给出的答案。答案 1 :(得分:0)
您目前无法使用 Preview 构建Boost,但是可以使用刚刚发布的常规版2019。我有同样的问题。具有必需功能的2019年常规版安装大约需要十分钟。您可以同时拥有两个。
为将来参考,这是我的注释,说明如何在具有MPI和python支持的Windows上构建增强功能。
需要Visual Studio 2019非预览版,任何版本,所有C ++和Windows SDK内容。
*注意:如果同时拥有,请从 Preview 暂时卸载C ++和Windows SDK。理想情况下,一个编译器就不会让Boost.build
感到困惑)。*
接下来,假设您已安装git-for-windows,请执行
git clone https://github.com/boostorg/boost.git --recursive
boost超级项目回购到一个名为/Boost/
的UNPROTECTED文件夹中(必须不受保护!)
cd boost
现在您进入/Boost/boost
。
使用
git checkout develop -f
-f强制更新。
使用Visual Studio开发人员控制台在boost文件夹中运行引导程序。要激活此控制台,请使用Windows搜索栏“在此处键入内容进行搜索” 作为“开发人员命令提示符”,或打开Visual Studio并使用顶部的搜索栏。
注意:如果遇到访问错误,则必须激活管理Visual Studio开发人员控制台。
在管理模式下打开cmd
并运行VsDevCmd.bat,该文件可激活Visual Studio开发人员控制台。
bootstrap
如果尚未安装Microsoft MPI,请安装两个最新版本的Microsoft MPI可用文件。 它已知可以与Version 10一起使用,需要同时将SDK(.msi文件)和非SDK(.exe文件)文件安装到DEFAULT位置。不要修改这些位置。
然后将/Boost/boost/
目录中的project-config.jam修改为以下内容:
(顺便说一句,每行后都有空白[规则空间],甚至是空行)
# Boost.Build Configuration
# Automatically generated by bootstrap.bat
import option ;
using msvc ;
option.set keep-going : false ;
using python ;
using mpi ;
最后两行假设您想要mpi和python支持。
现在打开Visual Studio开发人员控制台并导航(cd)到增强文件夹/Boost/boost
。由于我们使用的是VS 2019中的Visual C ++编译器,因此显然我们不需要b2 install
(请参阅《入门指南》中的5.1-5.2节)。然后,我们接下来唯一需要的就是运行
b2 -j8 --address-model=64
选项包括
--toolset=14.xx
[用于指定vs.编译器版本14.15,等等] -a
用于全部重建-j8
进行8核编译--address-model=64
(用于64位)> my_log.txt
最后记录从构建中输出的大量文本,以备后用(确保一切正常)。