C++ boost 1.69 visual studio 2017 64位

C++ boost 1.69 visual studio 2017 64位,c++,boost,C++,Boost,使用Visual Studio 2017 Pro构建64位boost 1.69有什么诀窍吗 我的尝试输出是从我为执行生成而编写的批处理文件中捕获的: C:\boost-build\1.69.0>call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars64.bat" **********************************************

使用Visual Studio 2017 Pro构建64位boost 1.69有什么诀窍吗

我的尝试输出是从我为执行生成而编写的批处理文件中捕获的:

C:\boost-build\1.69.0>call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvars64.bat"
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.6
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
Building Boost.Build engine

Bootstrapping is done. To build, run:

    .\b2

<snipforbrevity>

C:\boost-build\1.69.0\boost_1_69_0>b2 -j2 toolset=msvc-14.1 address-model=64 architecture=x86  cxxflags="-DSSL_OP_NO_TLSv1_1 -DSSL_OP_NO_TLSv1_2 " --layout=tagged --without-python --without-mpi stage --stagedir=stage/amd64
Performing configuration checks

    - default address-model    : 32-bit
    - default architecture     : x86
我想我有正确的咒语来梳理出64位,但b2行打印默认地址模型:32位。bootstrap.log似乎表示BOOST_JAM_ARCH正在被设置为x86默认值(如果未在config_toolset.bat中指定),并且最终的复制行表示它正在复制bin.ntx86_64\bjam.exe。。。那么为什么b2的输出存在差异呢


我不想下载预构建的二进制文件。不仅是1.66版本,而且我们在许多操作系统和平台上构建了这些库,因此我们更愿意自己进行修补和构建。

尽管您的评论显示它似乎可以工作并构建正确的库。 例如,它生成
libboost_stacktrace_windbg_cached-vc141-mt-x64-1_69.lib

我没有2017,但通常在构建boost时会打开相应的命令提示符。这确保了我用正确的版本构建了它。设置正确的命令环境是调用bootstrap.bat之前要做的第一件事。它们不仅只有1.66-@PaulMcKenzie那么,我会纠正的。。。我看了看绿色的按钮,没有再看了-PSo,你是对的,它正在构建正确的LIB。运行dumpbin/headers libboost_chrono.lib | c:\cygwin\bin\grep计算机显示x86或x64,因此该进程是正确的,只是在64位情况下,b2.exe打印默认地址模型时的输出不正确。