I have tried to regenerate the Boost libraries (Windoww 10, uptodate develop branch, AMD64, address-mode=64) for example

 

I:\modular-boost>b2 -j8 --debug-configuration toolset=msvc address-model=64 architecture=x86 --build-type=complete link=static,shared threading=multi --libdir=./lib/Win32 --with-regex install > ../build_msvc_14.0_64_libs.log 2>&1

 

But for –with-regex, I get many failures missing correct.h etc from missing the ucrt

 

cregex.cpp

 

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

 

    call "C:\Users\paula\AppData\Local\Temp\b2_msvc_14.0_vcvarsall_amd64.cmd" >nul

cl /Zm800 -nologo @"bin.v2\libs\regex\build\msvc-14.0\debug\address-model-64\threading-multi\cregex.obj.rsp"

 

...failed compile-c-c++ bin.v2\libs\regex\build\msvc-14.0\debug\address-model-64\threading-multi\cregex.obj...

 

https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/

 

there are some ‘fixed’ on the web, for example

 

https://devtalk.nvidia.com/default/topic/969047/cuda-8-vs2015-corecrt-h-error/?offset=7

 

but I am not sure how to change my system to fix the b2 generation so that this include (and crt library?) is always found.

 

MS say

 

“Your project is missing that directory (C:\Program Files (x86)\Windows Kits\10\Include\10.0.10069.0\ucrt) from its include path.  Ideally, your project should derive its IncludePath from the IncludePath set by the built-in Visual C++ targets that we provide with Visual Studio.  If you do that, then this header would be picked up automatically.  If you choose not to do this, you'll need to add this directory to your IncludePath (preferably by adding $(UniversalCRT_IncludePath).

You will likely need to make similar changes to the LibraryPath.”

 

$(UniversalCRT_IncludePath)

 

Am I doing something wrong, and if so what?

 

Do I alter user-config.jam, and if so how?

 

Thanks

 

Paul