![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
polin11 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 6.6.2015 Репутация: нет Всего: нет |
ОС 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 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 12.1.2011 Где: Казань Репутация: 8 Всего: 9 |
Версия Boost?
Мой опыт - всегда определять WIN32_LEAN_AND_MEAN на уровне сриптов сборки / проекта для С/C++-кода под Windows. Например, глобально для всех модулей CMake-проекта или вот так (в каждый модуль CMake-проекта) - asio_samples/cmake/internal_utils.cmake и asio_samples/examples/ma_echo_server/CMakeLists.txt
Это сообщение отредактировал(а) mabrarov - 3.12.2019, 13:47 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |