如何使用原子头c ++

时间:2018-01-18 15:12:53

标签: c++ multithreading redhat atomic

我正在尝试编译包含atomic headr的c ++文件,

我收到此错误:

#error <atomic> is not supported on this single threaded system

我正在使用交叉编译的铿锵声。 我正在运行redHat 6.9

1 个答案:

答案 0 :(得分:4)

此错误表示已配置目标系统的libcxx而没有线程支持。 libcxx outlines its threading support的文档。

  

<强> _LIBCPP_HAS_NO_THREADS

     

在没有线程支持的情况下构建libc ++时定义了此宏。它不应由用户手动定义。

您获得的错误意味着_LIBCPP_HAS_NO_THREADS已定义。具体来说,来自atomic标题:

#ifdef _LIBCPP_HAS_NO_THREADS
#error <atomic> is not supported on this single threaded system
#endif

您需要了解是否可以使用libcxx文档中概述的线程支持为目标平台构建/配置libcxx。