_WIN32_WINNT in thread\src\win32\thread.cpp and filesystem\src\operations.cpp

Why does win32\thread.cpp unconditionally define _WIN32_WINNT and WINVER? That's a bit rude, especially when I go to lengths to set them properly in a file I pass as BOOST_USER_CONFIG. :-( This also applies in filesystem\src\operations.cpp: in that case it does check that _WIN32_WINNT isn't defined already, but there has been no inclusion of config.h so BOOST_USER+CONFIG has not been processed yet. I would have though that in both cases the correct response is to remove these explicit settings and just: #include <boost/config.h> James (Using 1.39.0 on Vista, BTW - and setting _WIN32_WINNT by detection in my waf script)

On Saturday 18 July 2009 10:11:35 James Mansion wrote:
Why does win32\thread.cpp unconditionally define _WIN32_WINNT and WINVER?
That's a bit rude, especially when I go to lengths to set them properly in a file I pass as BOOST_USER_CONFIG. :-(
This also applies in filesystem\src\operations.cpp: in that case it does check that _WIN32_WINNT isn't defined already, but there has been no inclusion of config.h so BOOST_USER+CONFIG has not been processed yet.
I can only guess that it is used to make some functions visible that are otherwise not exposed from some SDKs, like e.g. TryEnterCriticalSection. Have you run 'svn blame' on that file to find out when and who wrote those lines?
I would have though that in both cases the correct response is to remove these explicit settings and just:
#include <boost/config.h>
..or #ifndef _WIN32_WINNT #define... Uli
participants (2)
-
James Mansion
-
Ulrich Eckhardt