Reputation: 1705
Are there any tricks to building boost 1.69 in 64-bit using Visual Studio 2017 Pro?
My attempt (output is captured from a batch file I wrote to perform the build):
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
I think I have the incantation correct to tease out 64-bit, but the b2 line prints default address-model : 32-bit
. The bootstrap.log appears to indicate that BOOST_JAM_ARCH is being set to x86 (the default if not specified in config_toolset.bat) and the final COPY line indicates it's copying bin.ntx86_64\bjam.exe... so why the discrepancy in b2's output?
I do not wish to download pre-built binaries. Not only are they only at 1.66, but we build these libs across many OS's and platforms, so we prefer to patch and build ourselves.
Upvotes: 0
Views: 771
Reputation: 4651
Despite the comments you show it seems to work and build the correct libraries.
For example it generates
libboost_stacktrace_windbg_cached-vc141-mt-x64-1_69.lib
Upvotes: 1