C/C++编译时报错 fatal error: stdatomic.h: No such file or directory
在Linux下,使用gcc编译源码时报错
fatal error: stdatomic.h: No such file or directory #include^ compilation terminated.
原因是gcc 4.8版本过低,需要gcc更高的版本,如何安全升级gcc版本呢?
可通过centos-release-scl源安装devtoolset包
yum install centos-release-scl yum install devtoolset-8
或自行添加源来安装(我这里以CentOS7为例)
vi /etc/yum.repos.d/CentOS-SCLo-scl.repo [centos-sclo-sclo] name=CentOS-7 - SCLo sclo baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/rh/ #mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
激活gcc版本,使其生效
scl enable devtoolset-8 bash
或
source /opt/rh/devtoolset-8/enable
此时通过gcc --version命令可以看到,gcc版本已经变成8.x.x,值得注意的是这仅仅在当前bash生效,如果需要永久生效,可以请自行添加环境变量。



