В моем проекте используется windows.h, в котором используется winsock.h, и мне нужно включить boost: assio, который использует winsock2. Поэтому я получаю много ошибок, которые говорят, что Winsock.h уже включен. Я могу определить WIN32_LEAN_AND_MEAN. так что windows.h не будет использовать winsock. Проблема в том, что мне нужен windows.h, чтобы использовать его, и мне просто нужен Asio для асинхронных таймеров. Мне не нужен его winsock2.h. Я попытался найти, как отключить его использование winsock2, и я обнаружил, что могу это сделать, определив BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN, прежде чем включать boost: asio, но я все равно получаю ту же ошибку.
#include <windows.h>
#define BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN
#include <boost/asio.hpp>
Ошибка
1 > c:\program files\boost\boost_1_47\boost\asio\detail\socket_types.hpp(22): фатальная ошибка C1189: #error: WinSock.h уже включен