Boost logo

Boost Users :

Subject: [Boost-users] [Thread] Version 1.66.0 incompatible with ISOLATION_AWARE_ENABLED
From: Jim Wilburn (jwilburn_at_[hidden])
Date: 2018-01-03 21:01:41


I work on a Windows code base that I have been updating from Boost 1.64.0 to Boost 1.66.0. One of the projects sets ISOLATION_AWARE_ENABLED to 1 (refer to https://msdn.microsoft.com/en-us/library/windows/desktop/bb773175(v=vs.85).aspx).
#define ISOLATION_AWARE_ENABLED 1
The project also includes <boost/thread.hpp>. The Windows SDK version is 10.0.16299.0. The include chain is:
<boost/thread.hpp>
  <boost/thread/thread.hpp>
    <boost/thread/thread_only.hpp>
      <boost/thread/win32/thread_data.hpp>
        <boost/thread/win32/thread_primitives.hpp>
          <boost/detail/winapi/dll.hpp>
            <boost/winapi/dll.hpp>
The last include contains constructions such as:
      BOOST_SYMBOL_IMPORT boost::winapi::HMODULE_ WINAPI
      LoadLibraryA(boost::winapi::LPCSTR_ lpFileName);
With a nonzero ISOLATION_AWARE_ENABLED, this results in redefinition errors, e.g.:
      .../boost/winapi/dll.hpp(38): error C2375: 'IsolationAwareLoadLibraryA': redefinition; different linkage
     ...\include\10.0.16299.0\um\winbase.inl(287): note: see declaration of 'IsolationAwareLoadLibraryA'

Jim Wilburn



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net