Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

No type named 'atomic' in namespace 'std'

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)
like image 844
Hobbyist Avatar asked Mar 30 '13 15:03

Hobbyist


2 Answers

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)

like image 139
Jesper Juhl Avatar answered Oct 14 '22 07:10

Jesper Juhl


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

like image 31
tamtam Avatar answered Oct 14 '22 07:10

tamtam