找不到 clang 执行头

lea*_*ree 3 c++ std clang c++17

我想std::for_each使用新的执行策略并行化一些循环。ubuntu 20.04 上的 gcc 9.3 没有问题,但 macos 11 上的 clang 11 抱怨找不到#include <execution>。他们还没有包括在内吗execution

我的旗帜是-std=c++17 -lstdc++ -ltbb

尝试使用-lstdc++-libc++并阅读类似的帖子

Ran*_*tep 6

基于C++ 编译器支持,“并行化 TS 标准化”不包含在 Clang 或 Apple Clang 中。


边注:

我以为 macOS 11 的默认 Apple Clang 版本是 12。

无论哪种方式,在 Apple Clang 12 中,都有一个<execution>标头,它需要一个_LIBCPP_HAS_PARALLEL_ALGORITHMS自定义标志才能将您带到<__pstl_execution>. 但是还<__pstl_execution>没有实现,或者至少我找不到它。

  • 对于``Apple clang 版本 12.0.0 (clang-1200.0.32.27) 来说仍然如此``目标:x86_64-apple-darwin19.6.0 线程模型:posix``` (2认同)