В моем проекте используется 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 уже включен