No type named 'atomic' in namespace 'std'

12,077

Solution 1

There are several things that need to be true for your code to work:

  1. You need to #include <atomic>

  2. You need to compile the code as C++11 or C++14 (-std=c++11 or -std=c++14 (or c++0x for older compilers))

  3. Your compiler and standard library needs to support enough of C++11 to provide atomic (http://clang.llvm.org/cxx_status.html)

Solution 2

Adding -std=c++11 to CXXFLAGS in my Makefile -> that works for me!

Share:
12,077
Hobbyist
Author by

Hobbyist

Trying to create a farm game!

Updated on June 05, 2022

Comments

  • Hobbyist
    Hobbyist almost 2 years

    Why doesn't

    std::atomic<int> index;
    

    Work?

    Currently using LLVM 3.1 with these params

    C Language Dialect GNU [-std=gnu99]
    C++ Language Dialect [-std=c++11]
    C++ Standard Library libc++(LLVM C++ standard library with C++11 support)
    
  • tamtam
    tamtam over 5 years
    adding -std=c++11 to my cmake_cxx_flags worked. thanks!