use*_*288 1 c++ linux gcc pthreads atomic
我试图在我的C++ pthread程序中包含atomic.
#include <atomic>
Run Code Online (Sandbox Code Playgroud)
但是,我得到了错误:
错误:原子:没有这样的文件或目录
我试过了 :
#include <asm/atomic>
#include <atomic.h>
#include <linux/atomic>
#include <util/atomic>
#include <stdcatomic>
#include <catomic>
Run Code Online (Sandbox Code Playgroud)
没有人工作.
我的gcc是gcc版本4.1.2 20080704(Red Hat 4.1.2-52)
帖子:
在ubuntu中#include <cstdatomic>"没有这样的文件"
也不工作.
And #include <thread> also got : No such file or directory
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
谢谢 !
UPDATE,
我正在尝试在Linux上安装GCC 4.7,但在"make check"中,我收到错误,
autogen -T /remote/mypath/gcc_4_7_2012_5_28/gcc_4_7_new_2012_5_29/trunk/fixincludes/check.tpl , remote/mypath/gcc_4_7_2012_5_28/gcc_4_7_new_2012_5_29/trunk/fixincludes/inclhack.def ,
make[2]: execvp: autogen: Permission denied, then I tried to install autogen, but
got: I need to install guile-devel, then when I installed guile-2.0.5-2.1.src.rpm ,
I got rpm -ivh guile-2.0.5-2.1.src.rpm, warning: guile-2.0.5-2.1.src.rpm: Header V3
RSA/SHA256 signature: NOKEY, key ID 3dbdc284
error: cannot write to %sourcedir /usr/src/redhat/SOURCES, I cannot get root
authorization.
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.谢谢 !
您的帖子有点令人困惑,因为您链接到需要GCC 4.4的帖子atomic,但您希望它能在4.1.x上运行.
您需要升级到至少GCC 4.4才能获得atomic支持.虽然您可以使用GCC 4.1,但无法在GCC 4.1中启用对原子的支持boost::atomic.为了将来参考,此图表显示哪个版本的GCC支持哪些C++ 11功能.
如果由于某种原因你不能升级GCC,你也可以尝试使用不同的编译器(例如clang).