0 / 0 / 1
Регистрация: 18.07.2019
Сообщений: 13
1

Подключение boost::asio в CMake

21.09.2020, 21:39. Показов 26680. Ответов 3

Author24 — интернет-сервис помощи студентам
Добрый вечер, форумм, подскажите пожалуйста, как подключить asio в CMake, Linux

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cmake_minimum_required(VERSION 3.17)
project(ales)
 
set(CMAKE_CXX_STANDARD 20)
 
set(Boost_USE_STATIC_LIBS        ON) # only find static libs
set(Boost_USE_MULTITHREADED      ON)
set(Boost_USE_STATIC_RUNTIME    OFF)
 
find_package(Boost 1.72.0 COMPONENTS system asio)
 
if(Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS})
endif()
 
add_executable(ales main.cpp)
 
if(Boost_FOUND)
    target_link_libraries(ales ${Boost_LIBRARIES})
endif()
Вот такие ошибки:

In file included from /usr/include/boost/asio/detail/handler_type_requirements.hpp:53,
from /usr/include/boost/asio/impl/execution_context.hpp:18,
from /usr/include/boost/asio/execution_context.hpp:409,
from /usr/include/boost/asio/detail/scheduler.hpp:21,
from /usr/include/boost/asio/system_context.hpp:19,
from /usr/include/boost/asio/impl/system_executor.hpp:22,
from /usr/include/boost/asio/system_executor.hpp:129,
from /usr/include/boost/asio/associated_executor.hpp:21,
from /usr/include/boost/asio.hpp:21,
from /home/denys/CLionProjects/ales/main.cpp:2:
/usr/include/boost/asio/async_result.hpp:70:20: error: a variable concept cannot be constrained
70 | BOOST_ASIO_CONCEPT completion_handler_for =
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/asio/async_result.hpp:492:20: error: a variable concept cannot be constrained
492 | BOOST_ASIO_CONCEPT completion_token_for = requires(T&& t)
| ^~~~~~~~~~~~~~~~~~~~
make[3]: *** [CMakeFiles/ales.dir/build.make:83: CMakeFiles/ales.dir/main.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:96: CMakeFiles/ales.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:103: CMakeFiles/ales.dir/rule] Error 2
make: *** [Makefile:138: ales] Error 2
Заранее благодарю.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2020, 21:39
Ответы с готовыми решениями:

Boost - asio | Подключение к серверу ВКонтакте
Доброго времени суток! Хотелось бы узнать как можно подключится к серверу ВКонтакте средствами...

Boost::asio кодировка
Приветствую. В общем ситуация в следующем, имеется сервер на boost::asio в ответах сервера...

Boost::asio как обнаружить дисконнект на удалённой машине?
В данный момент обрабатываю дисконнекты, глядя на возвращаемые коды ошибок после вызовов...

Как подключить библиотеку boost используя cmake?
У меня в проекте есть 2 файла f1.cpp и f2.h Подключены вот эти файлы из boost #include...

3
693 / 303 / 99
Регистрация: 04.07.2014
Сообщений: 846
21.09.2020, 21:48 2
Лучший ответ Сообщение было отмечено deny_shew как решение

Решение

Судя по сему, ты хочешь с++20, но поддерживает ли его твой компилятор? Возможно стоит включить концепты опцией. Плюс буст у тебя системный. Попробуй запросить 14 или 17 стандарт плюсов
1
0 / 0 / 1
Регистрация: 18.07.2019
Сообщений: 13
23.09.2020, 20:35  [ТС] 3
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Получилось вот так:

C
1
2
3
4
5
6
7
8
9
10
11
12
cmake_minimum_required(VERSION 3.17)
project(ales)
 
set(CMAKE_CXX_STANDARD 17)
 
set(BOOST_ROOT /usr/include/boost)
set(Boost_USE_STATIC_LIBS ON)
find_package(Boost COMPONENTS system thread)
 
include_directories(${Boost_INCLUDE_DIR})
add_executable(ales main.cpp)
target_link_libraries(ales ${Boost_LIBRARIES})
Большое спасибо за ответ!
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
29.09.2020, 22:53 4
deny_shew, я бы добавил REQUIRED в find_package.
0
29.09.2020, 22:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2020, 22:53
Помогаю со студенческими работами здесь

Как корректно считать вектор boost::asio::streambuf на стороне клиента
Доброго времени суток! Назрел вопрос: Пишу в сокет с помощью boost::asio::buffer...

Ошибка, пытаюсь подключить boost к Visual Studio используя cmake
Код и всю информацию закрепил на скринах, что не так, уже сколько сижу не могу понять:( ...

Решить проблему: простой веб сервер на основе boost::asio падает именно при первом же обращении к серверу
Запускаю код указанный ниже, но при обращении на айпи и порт который слушает сервер, сервер падает...

Подключение библиотеки boost
Покажите на пальцах как подключить эту библиотеку...... скачал патч 1.55 над поставить на visual...

Подключение boost к Code::Blocks
Есть boost, есть Code::Blocks. Как прикрутить boost к Code::Blocks??? Буду очень признателен за...

Boost asio - начало работы (подключение, компиляция и т.д)
Здравствуйте, уважаемые! Возникла потребность использовать boost asio в проекте. Я убил целый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru