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

相关推荐
SilentSamsara12 小时前
concurrent.futures 实战:进程池与线程池的统一抽象
运维·开发语言·python·青少年编程
不吃土豆的马铃薯12 小时前
Spdlog 进阶:日志基本控制、日志格式控制、异步记录器
linux·服务器·开发语言·前端·c++
疯狂成瘾者12 小时前
常见的 Linux 版本
linux·运维·服务器
szxinmai主板定制专家12 小时前
基于ZYNQ MPSOC图像采集与压缩系统总体设计方案
linux·arm开发·人工智能·嵌入式硬件·fpga开发
liulilittle12 小时前
TCP UCP:基于卡尔曼滤波的BBR增强型拥塞控制算法
linux·网络·c++·tcp/ip·算法·c·通讯
xingyuzhisuan13 小时前
GPU服务器集群搭建指南——选型、部署、优化+避坑全解析
运维·服务器·人工智能·gpu算力
tianrun123413 小时前
Ubuntu 24.04 安装 Fcitx5 + Rime + 搜狗词库(替代 IBus 与 Linux 搜狗输入法)
linux·运维·ubuntu
2601_9552564713 小时前
云服务器采购避坑指南:如何通过官方渠道获得更低折扣与更快服务
运维·服务器
wxytxdy13 小时前
通过猜数字游戏学习Shell脚本的分支、循环编写
linux·学习
清欢渡---13 小时前
三次握手四次挥手(对话场景)
运维·服务器·网络·hcia