Почему компилятор не видит классы 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)
Как сделать так, чтоб компилятор видел необходимые классы?
