How to build Boost 1.64 in 64 bits?

Viewed 27750

I am running Windows 10 and have Visual Studio 2017 Community Edition installed in my laptop. I have some older programs that compiled fine in VS 2015 with Boost 1.62.0 in 64 bits. For some very strange reason, I cannot find a way to compile say any library from Boost 1.64.0 (here filesystem and timer) using VS 2017 with this command line:

b2 --build-dir=..\build_here --with-filesystem --with-timer --address-model=64

The command will execute and the libraries will be built, but in 32 bits!!

What could be going wrong?

Regards, Juan Dent

4 Answers

I don't know why, but the Boost is compiled with 32 bit same with the native x64 prompt of VS 2017.

This step-by-step worked for me:

  1. Open x64 Native Tools Command Prompt for VS 2017;
  2. Changed the boost_1_66_0\project-config.jam to:

    import option ; //Check your compiler path here: using msvc : 14.1 : "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.12.25827/bin/Hostx64/x64/cl.exe"; using mpi ; option.set keep-going : false ;

  3. Run:

    b2.exe --toolset=msvc-14.1 --address-model=64 --architecture=x86 --runtime-link=static,shared --link=static threading=multi --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j4

    or

    bjam.exe toolset=msvc-14.1 address-model=64 architecture=x86 runtime-link=static,shared link=static threading=multi build-dir=build\x64 install prefix="C:\Program Files\Boost" -j4

You should have a 64-bit = yes at the start of compilation.

Try specifying architecture=ia64

e.g.

b2.exe --toolset=msvc-14.1 --address-model=64 --architecture=ia64 --runtime-link=static,shared --link=static threading=multi --build-dir=build\x64 install --prefix="C:\Program Files\Boost" -j4

Consider saving a bunch of time by entering each boost version directory that you need and running there this:

bootstrap && b2 -a install

This way C:\Boost directory created with all possible combinations of library build options built including x64. You may want to turn this directory compression on.

Related