Opened 7 years ago

Last modified 7 years ago

#11487 new Bugs

Boost doesn't build with Visual C++ 2015

Reported by: Russell Wallace <russell.wallace@…> Owned by:
Milestone: To Be Determined Component: Building Boost
Version: Boost 1.58.0 Severity: Showstopper
Keywords: Cc:

Description

Trying to build Boost with Visual C++ 2015 fails with an error message: can't find header file corecrt.h. It turns out that Visual C++ has changed the location of some header files in this release. The batch file vcvarsall.bat correctly sets the new path, but it looks like the Boost build program b2 makes its own guess at paths, and that guess was derived from earlier versions of Visual C++ and is no longer accurate?

Change History (4)

comment:1 by viboes, 7 years ago

Component: NoneBuilding Boost

comment:2 by jarek, 7 years ago

Same on me: address-model=32 makes errors while address-model=64 compiles fine.

compile-c-c++ bin.v2\libs\locale\build\msvc-14.0\release\link-static\threading-m
ulti\std\std_backend.obj
std_backend.cpp
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\crtdefs.h(10): fa
tal error C1083: Cannot open include file: 'corecrt.h': No such file or director
y
...failed updating 123 targets...
...skipped 32 targets...


C:\Users\Jarek\Documents\3rd-Party\boost_1_59_0>b2 -j8 --toolset=msvc-14.0 address-model=32 --build-type=complete stage

comment:3 by anonymous, 7 years ago

You can pass a include= parameter to b2, so something like b2 ... include="C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt" ... stage

comment:4 by abrarov@…, 7 years ago

I used the way described here:

  1. Got to user's temp folder (%TEMP%).
  2. Delete all b2_*.cmd files.
Note: See TracTickets for help on using tickets.