The message
32-bit: yes
is misleading.
It only means that the default compiler (often msvc) has a 32-bit version available.
It does NOT mean that the generated code is not for a 64-bit target (if you put address-model=64
).
--reconfigure
clears the cache and ensures that you get the uncached value (which will still be 32-bit if you have msvc as your default compiler).
And beware: to get a completely clean build after changing the compiler features installed, usually from an update, you must also remove the several cached versions of vcvarsall.bat
at C:\Users\The_User\AppData\Local\Temp
(VS2015 update 3 and very likely update 5 when the location of many system files is slated to be changed, and thus the macros defined by vcvarsall.bat
).
These are names like this:
b2_msvc_14.0_vcvarsall_amd64.cmd
...
Proof of generating a clean copy of these files look like this:
I:\modular-boost\libs\hello_boost\example>b2 -a toolset=msvc-14.0
CRT_IncludePath_x64 = C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt using msvc
...found 1 target...
...updating 1 target...
msvc.write-setup-script C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86.cmd
...updated 1 target...
...found 1 target...
...updating 1 target...
msvc.write-setup-script C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_amd64.cmd
...updated 1 target...
...found 1 target...
...updating 1 target...
msvc.write-setup-script C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_x86_arm.cmd
...updated 1 target...
If you do not have a clean copy, the 'cached' version of vsvarsall.bat
will be used, perhaps producing cruelly confusing messages about files that do exist like:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\crtdefs.h(10): fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory