【发布时间】:2021-03-01 17:37:47
【问题描述】:
我正在尝试在 android 上使用 asio 和协程集成一个 boost 项目。我在 CMakeLists.txt 文件上使用了set(CMAKE_CXX_FLAGS "-fcoroutines-ts")(使用了 c++17)。当我设置此标志时,ANDROID 宏变得未定义。如果我添加 -DANDROID,那么协程将被禁用。这两个标志不兼容吗?我可以在带有 NDK 的 Android 上使用 c++ 协程吗?
【问题讨论】:
-
set 命令用新值覆盖旧值。设置了附加新标志的正确用法(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" "-fcoroutines-ts")。顺便说一句,android ndk ver 23.1 不完全支持 c++20,你还不能使用 c++ 协程。
标签: android cmake android-ndk c++-coroutine