centos 7 关于引用stdatomic.h的问题

问题:/tmp/tmp4usxmdso/main.c:6:23: fatal error: stdatomic.h: No such file or directory

#include <stdatomic.h>

解决步骤:

1.这个错误是因为缺少C编译器的标准原子操作头文件 stdatomic.h。在Linux系统中,我们需要安装开发工具包来解决这个问题。

可以运行以下命令来安装必要的开发工具:

复制代码
sudo yum groupinstall "Development Tools" -y

2.看起来系统的yum源有问题,让我们先修复yum源,然后再安装开发工具:

复制代码
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && yum clean all && yum makecache

3.看来yum源还是有问题。让我们尝试直接安装gcc和相关开发工具:

复制代码
yum install -y gcc gcc-c++ kernel-devel make --disablerepo=centos-sclo-rh

4.让我们禁用所有有问题的repo后再试:

复制代码
yum install -y gcc gcc-c++ kernel-devel make --disablerepo=centos-sclo-rh --disablerepo=docker-ce-stable

5.看起来gcc和开发工具已经安装好了。现在让我们检查一下 stdatomic.h 文件:

复制代码
find /usr -name stdatomic.h

6.看来系统中确实缺少 stdatomic.h。这个问题在CentOS 7上比较常见,因为它使用的gcc版本较旧。我们有两个解决方案:

  • 安装更新版本的gcc:

    yum install -y centos-release-scl && yum install -y devtoolset-7

7.看来yum源的问题还是没有完全解决。让我们尝试第二个解决方案:

  • 使用conda环境安装gcc:

    conda install -y gcc_linux-64 gxx_linux-64

相关推荐
hweiyu0023 分钟前
docker简介
运维·docker·容器
渡我白衣42 分钟前
Linux操作系统之信号:信号的产生
linux
Sally璐璐1 小时前
OpenVPN:深度解析开源 VPN 解决方案
运维·开源
阿巴~阿巴~1 小时前
理解Linux文件系统:从物理存储到统一接口
linux·运维·服务器
tan77º2 小时前
【Linux网络编程】应用层自定义协议与序列化
linux·运维·服务器·网络·c++·tcp/ip
wanhengidc2 小时前
在徐州网络中服务器租用与托管的优势
运维·服务器·网络
Guheyunyi3 小时前
电气安全监测系统:筑牢电气安全防线
大数据·运维·网络·人工智能·安全·架构
菜鸡00014 小时前
存在两个cuda环境,在conda中切换到另一个
linux·人工智能·conda
音程4 小时前
(已解决) 如何使用密钥连接远程服务器jupyter notebook从而在本地浏览器上打开
运维·服务器·python·jupyter
吃着火锅x唱着歌5 小时前
LeetCode 424.替换后的最长重复字符
linux·算法·leetcode