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

相关推荐
C_心欲无痕1 分钟前
网络相关 - Ngrok内网穿透使用
运维·前端·网络
宇钶宇夕5 分钟前
CoDeSys入门实战一起学习(四):应用程序运行、监控与调试
运维·自动化
optimistic_chen5 分钟前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
zhyf1196 分钟前
零刻AI Max395(Ubuntu 24.04)AMD 显卡监控工具(amdgpu_top)部署手册
linux·运维·ubuntu
谢平康19 分钟前
ssh-copy-id 后还是一直需要密码登录的一个解决办法
运维·ssh
zhangdawei83827 分钟前
英伟达GB200,GB300和普通服务器如dell R740xd有什么区别?
运维·服务器·人工智能
释怀不想释怀31 分钟前
Docker(项目部署)
运维·docker·容器
御控工业物联网36 分钟前
御控远程监控智慧运维系统
运维·物联网·边缘计算·数据采集·远程监控·mqtt协议·工业智能网关
wdfk_prog37 分钟前
[Linux]学习笔记系列 -- 内存管理与访问
linux·笔记·学习
go_bai38 分钟前
Linux-网络基础
linux·开发语言·网络·笔记·学习方法·笔记总结