Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Подключить boost/asio.hpp |
Автор: polin11 3.12.2019, 12:10 |
ОС W10 QtCreator(СМake) компилятор Clang подключаю заголовочный файл #include <boost/asio.hpp> падают ошибки при компиляции типа: C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\shared\ws2def.h:235: ошибка: redefinition of 'sockaddr' typedef struct sockaddr { C:\.conan\kzey4w\1\include\boost\asio\detail\socket_types.hpp:24: ошибка: WinSock.h has already been included # error WinSock.h has already been included Для исправления проблемы предлагают добавить #ifdef _WIN32 #define WIN32_LEAN_AND_MEAN #endif дефайн WIN32_LEAN_AND_MEAN означает, что будут отброшены большинство редко используемых функций, макросов и типов Windows. Вопрос: кто-нибудь знает, как подключить boost/asio.hpp не используя #define WIN32_LEAN_AND_MEAN? |
Автор: mabrarov 3.12.2019, 13:44 | ||
Версия Boost? Мой опыт - всегда определять WIN32_LEAN_AND_MEAN на уровне сриптов сборки / проекта для С/C++-кода под Windows. Например, глобально для всех модулей CMake-проекта или вот так (в каждый модуль CMake-проекта) - https://github.com/mabrarov/asio_samples/blob/master/cmake/internal_utils.cmake#L205 и https://github.com/mabrarov/asio_samples/blob/master/examples/ma_echo_server/CMakeLists.txt
|