Subject: [Boost-bugs] [Boost C++ Libraries] #12644: Windows store - vcvarsall.bat is invoked with wrong arguments
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-12-02 22:50:52
#12644: Windows store - vcvarsall.bat is invoked with wrong arguments
----------------------------+------------------------------
Reporter: bjorn.aili@⦠| Type: Bugs
Status: new | Milestone: To Be Determined
Component: Building Boost | Version: Boost 1.62.0
Severity: Problem | Keywords:
----------------------------+------------------------------
When building a store app (ie, {{{windows-api=store}}} in boost), the
vcvarsall.bat script (part of Visual Studio) is supposed to be invoked,
for example, as
{{{
<VSPath>\VC\vcvarsall.bat x86_arm store
}}}
Boost's build system, however, invokes it without the 'store' argument,
resulting in a flawed compiler environment.
This typically doesn't make a difference when building for desktop, but
when building store apps for phone (arm), it can result in missing dll:s
when trying to run the app consuming boost. Specifically, various boost
dll:s will try to link with kernel32.lib, which does not exist on phone.
The origin of the error appears to be in
boost_1_62_0/tools/build/src/tools/msvc.jam in the invocation of the
{{{maybe-rewrite-setup}}} rule. Here, the {{{setup-options}}} parameter
should probably contain 'store', but the {{{<windows-api>}}} feature is
never checked to add it.
The end result is that, during boost compilation, the library include
paths end up wrong and the boost binaries will link with desktop libraries
instead of store libraries (eg, VCRUNTIME140D.dll instead of
VCRUNTIME140D_APP.dll).
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/12644> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC