命名空间'std'中没有名为'atomic'的类型

时间:2013-03-30 15:46:54

标签: c++ xcode c++11 std atomic

为什么不

std::atomic<int> index;

工作?

目前使用带有这些参数的LLVM 3.1

C Language Dialect GNU [-std=gnu99]
C++ Language Dialect [-std=c++11]
C++ Standard Library libc++(LLVM C++ standard library with C++11 support)

3 个答案:

答案 0 :(得分:7)

要使代码工作,有几件事情需要成立:

  1. 您需要#include <atomic>

  2. 您需要将代码编译为C ++ 11或C ++ 14(-std=c++11-std=c++14(或c++0x用于较旧的编译器))

  3. 您的编译器和标准库需要支持足够的C ++ 11才能提供atomichttp://clang.llvm.org/cxx_status.html

答案 1 :(得分:1)

在我的Makefile中为CXXFLAGS添加-std=c++11->对我有用!

答案 2 :(得分:-4)

您需要将其作为以下内容写入已定义的变量。

    std::atomic<std::int> index;