Jon
Jon

Reputation: 1705

boost 1.69 visual studio 2017 64-bit

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

Answers (1)

Damian
Damian

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

Related Questions