boostorg / system

Boost.org system module
http://boost.org/libs/system
35 stars 86 forks source link

Compilation with compiler v141_xp (Visual Studio 2017 - Windows XP) broken, can be easily fixed #110

Closed wmatw closed 1 year ago

wmatw commented 1 year ago

Hi, in this commit: 8449c62, done by @pdimov , need to add an additional condition for using shared_mutex:

ifndef _USING_V110SDK71

This def is active when using v141_xp, and according the header of STL:

` #ifndef _HAS_SHARED_MUTEX

ifdef _USING_V110SDK71

define _HAS_SHARED_MUTEX 0

else / _USING_V110SDK71 /

define _HAS_SHARED_MUTEX 1

endif / _USING_V110SDK71 /

endif / _HAS_SHARED_MUTEX /

_STD_BEGIN

if _HAS_SHARED_MUTEX

// CLASS shared_mutex

class shared_mutex ...`

wmatw commented 1 year ago

right now, as a workaround in my project, I am defining:

undef BOOST_MSSTL_VERSION //ugly hack for supporting v141_xp

before including the boost header

pdimov commented 1 year ago

I didn't expect anyone to still use the XP toolsets. :-) Will look into fixing this.

wmatw commented 1 year ago

To be honest, I wasn't expecting to still support XP in 2022, but their is still a huge demand for maintenance for POS with windows XP embedded devices . Microsoft ended the extended support only in 2019. I believe I will able to drop the support someday...

pdimov commented 1 year ago

Should be fixed by https://github.com/boostorg/system/commit/32dbf1b99290ced5666f6b1e8390571c02c94c5e.