[winapi] Major changes in develop
Hi, I've just merged a largely reworked version of Boost.WinAPI to develop. It fixes a few bugs and also changes the implementation for better conformance with the C++ standard. Hopefully, it should fix compilation issues with clang on Windows. Another significant change is that Boost.WinAPI targets Windows Vista and later by default. As before, it is possible to explicitly select another version to target by defining BOOST_USE_WINAPI_VERSION. For example, to build Boost for Windows XP one would invoke: b2 define=BOOST_USE_WINAPI_VERSION=0x0501 If anyone has problems with this change, please let me know.
On 6/21/2015 12:25 PM, Andrey Semashev wrote:
Hi,
I've just merged a largely reworked version of Boost.WinAPI to develop. It fixes a few bugs and also changes the implementation for better conformance with the C++ standard. Hopefully, it should fix compilation issues with clang on Windows.
Another significant change is that Boost.WinAPI targets Windows Vista and later by default. As before, it is possible to explicitly select another version to target by defining BOOST_USE_WINAPI_VERSION. For example, to build Boost for Windows XP one would invoke:
b2 define=BOOST_USE_WINAPI_VERSION=0x0501
If anyone has problems with this change, please let me know.
Thanks Andrey. I will check this out against clang in the coming days and let you know if I have found any problems.
On 6/21/2015 12:25 PM, Andrey Semashev wrote:
Hi,
I've just merged a largely reworked version of Boost.WinAPI to develop. It fixes a few bugs and also changes the implementation for better conformance with the C++ standard. Hopefully, it should fix compilation issues with clang on Windows.
Another significant change is that Boost.WinAPI targets Windows Vista and later by default. As before, it is possible to explicitly select another version to target by defining BOOST_USE_WINAPI_VERSION. For example, to build Boost for Windows XP one would invoke:
b2 define=BOOST_USE_WINAPI_VERSION=0x0501
If anyone has problems with this change, please let me know.
Versions of mingw/gcc, which are gcc 4.8.1-4 and below, fail because their windows.h names for some things are not the same as being used by winapi, even when i use the define above. This also goes for clang, which targets mingw/gcc 4.8.1-4. Most noticeable is _RTL_CRITICAL_SECTION with their name being _CRITICAL_SECTION instead.
On 01.07.2015 20:47, Edward Diener wrote:
On 6/21/2015 12:25 PM, Andrey Semashev wrote:
If anyone has problems with this change, please let me know.
Versions of mingw/gcc, which are gcc 4.8.1-4 and below, fail because their windows.h names for some things are not the same as being used by winapi, even when i use the define above. This also goes for clang, which targets mingw/gcc 4.8.1-4.
Most noticeable is _RTL_CRITICAL_SECTION with their name being _CRITICAL_SECTION instead.
I suppose, I could add workarounds for the legacy MinGW. My concern is clang, though. When it begins to support MinGW64 SDK then I won't be able to deduce whether these workarounds are needed or not.
On 7/1/2015 5:28 PM, Andrey Semashev wrote:
On 01.07.2015 20:47, Edward Diener wrote:
On 6/21/2015 12:25 PM, Andrey Semashev wrote:
If anyone has problems with this change, please let me know.
Versions of mingw/gcc, which are gcc 4.8.1-4 and below, fail because their windows.h names for some things are not the same as being used by winapi, even when i use the define above. This also goes for clang, which targets mingw/gcc 4.8.1-4.
Most noticeable is _RTL_CRITICAL_SECTION with their name being _CRITICAL_SECTION instead.
I suppose, I could add workarounds for the legacy MinGW. My concern is clang, though. When it begins to support MinGW64 SDK then I won't be able to deduce whether these workarounds are needed or not.
I am working on some workarounds and will submit them as a PR when it is ready. BTW it is possible to know whether mingw or mingw-64 is being used, both with gcc and clang. My PR will incorporate this knowledge for winapi in a clean way.
On 7/1/2015 5:28 PM, Andrey Semashev wrote:
On 01.07.2015 20:47, Edward Diener wrote:
On 6/21/2015 12:25 PM, Andrey Semashev wrote:
If anyone has problems with this change, please let me know.
Versions of mingw/gcc, which are gcc 4.8.1-4 and below, fail because their windows.h names for some things are not the same as being used by winapi, even when i use the define above. This also goes for clang, which targets mingw/gcc 4.8.1-4.
Most noticeable is _RTL_CRITICAL_SECTION with their name being _CRITICAL_SECTION instead.
I suppose, I could add workarounds for the legacy MinGW. My concern is clang, though. When it begins to support MinGW64 SDK then I won't be able to deduce whether these workarounds are needed or not.
After extensive work and testing I have created a PR to support clang, gcc/mingw, and gcc/mingw-64 on Windows using winapi.
participants (2)
-
Andrey Semashev
-
Edward Diener