Boost :: problema de compatibilidade do asio winsock e winsock 2

@My project usa windows.h no qual winsock.h é usado, e preciso incluir boost: assio, que usa winsock2. Então, eu recebo muitos erros que dizem que o Winsock.h já está incluído. Eu posso definir WIN32_LEAN_AND_MEAN. para que o windows.h não usasse o winsock. O problema é que eu preciso do windows.h para usá-lo e só preciso do Asio para temporizadores assíncronos. Eu não preciso do seu winsock2.h. Tentei pesquisar como desativar o uso do winsock2 e descobri que podia fazer isso definindo BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN antes de incluir o boost: asio, mas ainda assim recebo o mesmo erro.

#include <windows.h>
#define BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN
#include <boost/asio.hpp>

Err

1> c: \ arquivos de programas \ boost \ boost_1_47 \ boost \ asio \ detail \ socket_types.hpp (22): erro fatal C1189: # erro: WinSock.h já foi incluído

questionAnswers(10)

yourAnswerToTheQuestion