Почему компилятор не видит классы coroutines TS support boost Asio

Пытаюсь объявить хотя бы что-то из coroutines TS support, как в коде ниже:

#include <iostream>
#include <coroutine>
#include <boost/asio.hpp>


int main() {
    boost::asio::awaitable<void> test;
    return 0;
}

Но компилятор пишет что то из разряда:

No member named 'awaitable' in namespace 'boost::asio'.

При том, что из при нажатии на awaitable меня переносит в файл, где этот класс объявлен, да и если заглянуть в boost/asio.hpp, то можно увидеть, что все необходимые хедера подключены.

Ключевые слова co_awai и т.д., тоже не работают.
Компилятор пишет:

(Std::experimental::coroutine_traits type was not found; include <experimental/coroutine> before defining a coroutine).

Хотя coroutine без проблем подключается.

Я использую компилятор g++-10

введите сюда описание изображения

Все необходимое в cmake добавил:

cmake_minimum_required(VERSION 3.17)
project(test6)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -pthread")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -fcoroutines")
find_package(Boost 1.74.0 REQUIRED thread)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(test6 main.cpp)
target_link_libraries(test6 Boost::thread)

Как сделать так, чтоб компилятор видел необходимые классы?


Ответы (0 шт):