boost::asio Visual Studio 8 - fatal error C1189: #error : WinSock.h has already been included

I have upgraded to VS 8.0 Standard and when compiling ASIO errors on the following: 1>Unknown compiler version - please run the configure tests and report the results 1>C:\tor\trunk\lib\boost\boost/asio/detail/socket_types.hpp(27) : fatal error C1189: #error : WinSock.h has already been included Is this a known problem? thanks jc

Sorry, that would be VS 9.0 (2008)
On Tuesday, March 18, 2008, at 06:18PM, "Julian Cain"
I have upgraded to VS 8.0 Standard and when compiling ASIO errors on the following:
1>Unknown compiler version - please run the configure tests and report the results 1>C:\tor\trunk\lib\boost\boost/asio/detail/socket_types.hpp(27) : fatal error C1189: #error : WinSock.h has already been included
Is this a known problem?
thanks
jc _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

On Tue, 18 Mar 2008 23:22:48 +0100, Julian Cain
Sorry, that would be VS 9.0 (2008)
On Tuesday, March 18, 2008, at 06:18PM, "Julian Cain"
wrote: I have upgraded to VS 8.0 Standard and when compiling ASIO errors on the following:
1>Unknown compiler version - please run the configure tests and report the results 1>C:\tor\trunk\lib\boost\boost/asio/detail/socket_types.hpp(27) : fatal error C1189: #error : WinSock.h has already been included
Is this a known problem?
No problem here with VC++ 2008 and Boost.Asio 0.3.9. Boris

Julian,
you might want to
#define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */
before including any headers in your file. This way only winsock2.h will
be included. Or, alternatively, you can try to include winsock2.h yourself
before anything.
Have fun
Andrey.
On Tue, 18 Mar 2008 16:22:48 -0600, Julian Cain
Sorry, that would be VS 9.0 (2008)
On Tuesday, March 18, 2008, at 06:18PM, "Julian Cain"
wrote: I have upgraded to VS 8.0 Standard and when compiling ASIO errors on the following:
1>Unknown compiler version - please run the configure tests and report the results 1>C:\tor\trunk\lib\boost\boost/asio/detail/socket_types.hpp(27) : fatal error C1189: #error : WinSock.h has already been included
Is this a known problem?
thanks
jc

Hi Julian,
On 18/03/2008, Julian Cain
I have upgraded to VS 8.0 Standard and when compiling ASIO errors on the following:
1>Unknown compiler version - please run the configure tests and report the results 1>C:\tor\trunk\lib\boost\boost/asio/detail/socket_types.hpp(27) : fatal error C1189: #error : WinSock.h has already been included
Is this a known problem?
What do you mean by 'compiling asio'? It is a header-only library. :) The problem you're seeing is because the (old) winsock.h header has been included. Most people that see this do because they've included windows.h*before* the asio headers. You can get around this by defining WIN32_LEAN_AND_MEAN (something like that) before including windows.h, or just by including windows.h after everything else. Regards, Darren
participants (4)
-
Andrey Tcherepanov
-
Boris
-
Darren Garvey
-
Julian Cain