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

相关推荐
神梦流1 小时前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
兜兜转转了多少年2 小时前
从脚本到系统:2026 年 AI 代理驱动的 Shell 自动化
运维·人工智能·自动化
.小墨迹2 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
Lsir10110_2 小时前
【Linux】中断 —— 操作系统的运行基石
linux·运维·嵌入式硬件
Sheffield3 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
历程里程碑3 小时前
Linux20 : IO
linux·c语言·开发语言·数据结构·c++·算法
郝学胜-神的一滴3 小时前
深入浅出:使用Linux系统函数构建高性能TCP服务器
linux·服务器·开发语言·网络·c++·tcp/ip·程序人生
承渊政道3 小时前
Linux系统学习【Linux系统的进度条实现、版本控制器git和调试器gdb介绍】
linux·开发语言·笔记·git·学习·gitee
技术路上的探险家3 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker
代码AC不AC3 小时前
【Linux】深入理解缓冲区
linux·缓冲区·标准错误