零、问题

在Ubuntu20.04.6中使用GCC编译一个HelloWorld代码时遇到如下问题:

首先确认了,自己单词没有拼写错。

然后再检查GCC的版本,确实没问题:

我用的是Ubuntu20.04.6的版本。

壹、解决

没有标准的头文件需要安装build-essential来解决。

1、使用 apt-get 安装 build-essential

需要安装build-essential

执行以下命令:

sudo apt-get install build-essential

报错,版本不兼容:

minuhy@yuvm:~/code$ sudo apt-get install build-essential
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助: 下列软件包有未满足的依赖关系:
build-essential : 依赖: libc6-dev 但是它将不会被安装 或
libc-dev
依赖: g++ (>= 4:9.2) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

2、使用 aptitude 安装 build-essential

安装 aptitude :

sudo apt-get install aptitude

使用 aptitude 安装 build-essential:

sudo aptitude install build-essential

aptitude 会提出很多种方案的,默认的方案同样是安装不了的,我们需要在它第一次询问的时候回复n查看下一个方案,然后它会提示给一些软件降级,回复y同意,然后就安装上build-essential了。

我的操作过程如下:

root@yuvm:/home/minuhy/code# aptitude install build-essential
下列“新”软件包将被安装。
build-essential g++{a} g++-9{a} libc-dev-bin{a} libc6-dev{ab} libcrypt-dev{a} libstdc++-9-dev{a} linux-libc-dev{a}
0 个软件包被升级,新安装 8 个,0 个将被删除, 同时 0 个将不升级。
需要获取 14.0 MB 的存档。解包后将要使用 73.4 MB。
下列软件包存在未满足的依赖关系:
libc6-dev : 依赖: libc6 (= 2.31-0ubuntu9.7) 但是 2.31-0ubuntu9.9 已安装
下列动作将解决这些依赖关系: 保持 下列软件包于其当前版本:
1) build-essential [未安装的]
2) g++ [未安装的]
3) g++-9 [未安装的]
4) libc6-dev [未安装的]
5) libstdc++-9-dev [未安装的] 是否接受该解决方案?[Y/n/q/?] n
下列动作将解决这些依赖关系: 降级 下列软件包:
1) libc6 [2.31-0ubuntu9.9 (now) -> 2.31-0ubuntu9.7 (focal-security)]
2) libc6-dbg [2.31-0ubuntu9.9 (now) -> 2.31-0ubuntu9.7 (focal-security)] 是否接受该解决方案?[Y/n/q/?] y
下列软件包将被“降级”:
libc6 libc6-dbg
下列“新”软件包将被安装。
build-essential g++{a} g++-9{a} libc-dev-bin{a} libc6-dev{a} libcrypt-dev{a} libstdc++-9-dev{a} linux-libc-dev{a}
0 个软件包被升级,新安装 8 个,2 个被降级,0 个将被删除, 同时 0 个将不升级。
需要获取 27.2 MB 的存档。解包后将要使用 120 MB。
您要继续吗?[Y/n/?] y
读取: 1 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 libc6-dbg amd64 2.31-0ubuntu9.7 [10.5 MB]
读取: 2 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 libc6 amd64 2.31-0ubuntu9.7 [2,714 kB]
读取: 3 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 libc-dev-bin amd64 2.31-0ubuntu9.7 [71.6 kB]
读取: 4 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 linux-libc-dev amd64 5.4.0-153.170 [1,116 kB]
读取: 5 http://mirrors.aliyun.com/ubuntu focal/main amd64 libcrypt-dev amd64 1:4.4.10-10ubuntu4 [104 kB]
读取: 6 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 libc6-dev amd64 2.31-0ubuntu9.7 [2,518 kB]
读取: 7 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 libstdc++-9-dev amd64 9.4.0-1ubuntu1~20.04.1 [1,722 kB]
读取: 8 http://mirrors.aliyun.com/ubuntu focal-security/main amd64 g++-9 amd64 9.4.0-1ubuntu1~20.04.1 [8,420 kB]
读取: 9 http://mirrors.aliyun.com/ubuntu focal/main amd64 g++ amd64 4:9.3.0-1ubuntu2 [1,604 B]
读取: 10 http://mirrors.aliyun.com/ubuntu focal/main amd64 build-essential amd64 12.8ubuntu1 [4,624 B]
已下载 27.2 MB,耗时 24秒 (1,126 kB/s)
正在预设定软件包 ...
dpkg: 警告: 即将把 libc6-dbg:amd64 从 2.31-0ubuntu9.9 降级到 2.31-0ubuntu9.7
(正在读取数据库 ... 系统当前共安装有 187061 个文件和目录。)
准备解压 .../libc6-dbg_2.31-0ubuntu9.7_amd64.deb ...
正在解压 libc6-dbg:amd64 (2.31-0ubuntu9.7) 并覆盖 (2.31-0ubuntu9.9) ...
dpkg: 警告: 即将把 libc6:amd64 从 2.31-0ubuntu9.9 降级到 2.31-0ubuntu9.7
准备解压 .../libc6_2.31-0ubuntu9.7_amd64.deb ...
正在解压 libc6:amd64 (2.31-0ubuntu9.7) 并覆盖 (2.31-0ubuntu9.9) ...
正在设置 libc6:amd64 (2.31-0ubuntu9.7) ...
正在选中未选择的软件包 libc-dev-bin。
(正在读取数据库 ... 系统当前共安装有 186904 个文件和目录。)
准备解压 .../0-libc-dev-bin_2.31-0ubuntu9.7_amd64.deb ...
正在解压 libc-dev-bin (2.31-0ubuntu9.7) ...
正在选中未选择的软件包 linux-libc-dev:amd64。
准备解压 .../1-linux-libc-dev_5.4.0-153.170_amd64.deb ...
正在解压 linux-libc-dev:amd64 (5.4.0-153.170) ...
正在选中未选择的软件包 libcrypt-dev:amd64。
准备解压 .../2-libcrypt-dev_1%3a4.4.10-10ubuntu4_amd64.deb ...
正在解压 libcrypt-dev:amd64 (1:4.4.10-10ubuntu4) ...
正在选中未选择的软件包 libc6-dev:amd64。
准备解压 .../3-libc6-dev_2.31-0ubuntu9.7_amd64.deb ...
正在解压 libc6-dev:amd64 (2.31-0ubuntu9.7) ...
正在选中未选择的软件包 libstdc++-9-dev:amd64。
准备解压 .../4-libstdc++-9-dev_9.4.0-1ubuntu1~20.04.1_amd64.deb ...
正在解压 libstdc++-9-dev:amd64 (9.4.0-1ubuntu1~20.04.1) ...
正在选中未选择的软件包 g++-9。
准备解压 .../5-g++-9_9.4.0-1ubuntu1~20.04.1_amd64.deb ...
正在解压 g++-9 (9.4.0-1ubuntu1~20.04.1) ...
正在选中未选择的软件包 g++。
准备解压 .../6-g++_4%3a9.3.0-1ubuntu2_amd64.deb ...
正在解压 g++ (4:9.3.0-1ubuntu2) ...
正在选中未选择的软件包 build-essential。
准备解压 .../7-build-essential_12.8ubuntu1_amd64.deb ...
正在解压 build-essential (12.8ubuntu1) ...
正在设置 linux-libc-dev:amd64 (5.4.0-153.170) ...
正在设置 libc6-dbg:amd64 (2.31-0ubuntu9.7) ...
正在设置 libcrypt-dev:amd64 (1:4.4.10-10ubuntu4) ...
正在设置 libc-dev-bin (2.31-0ubuntu9.7) ...
正在设置 libc6-dev:amd64 (2.31-0ubuntu9.7) ...
正在设置 libstdc++-9-dev:amd64 (9.4.0-1ubuntu1~20.04.1) ...
正在设置 g++-9 (9.4.0-1ubuntu1~20.04.1) ...
正在设置 g++ (4:9.3.0-1ubuntu2) ...
update-alternatives: 使用 /usr/bin/g++ 来在自动模式中提供 /usr/bin/c++ (c++)
正在设置 build-essential (12.8ubuntu1) ...
正在处理用于 man-db (2.9.1-1) 的触发器 ...
正在处理用于 libc-bin (2.31-0ubuntu9.9) 的触发器 ... root@yuvm:/home/minuhy/code# aptitude install build-essential
build-essential 的 (12.8ubuntu1) 版本已经按要求安装了
build-essential 的 (12.8ubuntu1) 版本已经按要求安装了
将不会安装,升级或者删除任何软件包。
0 个软件包被升级,新安装 0 个,0 个将被删除, 同时 0 个将不升级。
需要获取 0 B 的存档。解包后将要使用 0 B。

这样就安装成功了。

贰、结果

再次尝试编译C文件:

成功!

叁、参考文献

  1. gcc编译时报错 fatal error: stdio.h: 没有那个文件 解决方法
  2. 提示“无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系“的解决方案
  3. Linux学习笔记(二)build-essential的安装
  4. Ubuntu 镜像
  5. ubuntu下如何安装gcc
  6. 致命错误: stdio.h:没有那个文件或目录

【C语言】gcc编译时报错 fatal error: stdio.h: 没有那个文件或目录的更多相关文章

  1. fastdfs+nginx make时报错fatal error:fdfs_define.h: 没有那个文件或目录

    环境: ubuntu 18.04.1 fastdfs-nginx-module_v1.16 root@wang-machine:~/桌面/FastDFS# cd nginx-1.8.1/root@wa ...

  2. 64位系统中fatal error: stdio.h: 没有那个文件或目录的错误的解决方法

    Ubuntu系统中可输入如下命令,安装开发环境: sudo apt-get install build-essential https://blog.csdn.net/yygydjkthh/artic ...

  3. error: stdio.h: 没有那个文件或目录

    在64位系统中,编写一个C语言程序后,使用gcc进行编译时,出现了如下的错误: test.c:1:19: fatal  error: stdio.h: 没有那个文件或目录 #include <s ...

  4. 【caffe编译】 fatal error: hdf5.h: 没有那个文件或目录

    src/caffe/layers/hdf5_output_layer.cpp:3:18: fatal error: hdf5.h: 没有那个文件或目录 查找文件 locate hdf5.h 修改Mak ...

  5. busybox编译 fatal error: curses.h: 没有那个文件或目录解决办法

    执行make menuconfig时出现如下错误@ubuntu:/home/dev/busybox-1.19.3# make menuconfig HOSTCC scripts/kconfig/lxd ...

  6. “fatal error: hdf5.h: 没有那个文件或目录”解决方法

    問題一: Installing Caffe without CUDA: fatal error: cublas_v2.h No such file: 在Makefile.config中修改,將CPU_ ...

  7. 源码安装nginx 出现fatal error: pcre.h: 没有此文件或者目录

    原因是用了pcre2 重新下载pcre再编译即可.

  8. python2用pip进行安装时报错Fatal error in launcher: Unable to create process using '"'

    win7下python3和python2共存环境 用pip安装一个包执行pip2 install xxx的时候报错Fatal error in launcher: Unable to create p ...

  9. tesseract编译错误:fatal error: allheaders.h: No such file or directory

    错误描述: globaloc.cpp::: fatal error: allheaders.h: No such file or directory #include "allheaders ...

  10. 使用pip 时报错 Fatal error in launcher: Unable to create process using '"D:\pytghon2.7\python.exe" "D:\python2.7\S

    无法创建使用pip.exe创建进程,说白了就是无法启动pip安装插件. 解决方法升级pip: python -m pip install -U pip  

随机推荐

  1. 记一次 contentInsetAdjustmentBehavior 引发的bug

    注:本文同步发布于微信公众号:stringwu的互联网杂谈记一次 contentInsetAdjustmentBehavior 引发的bug 1 背景 项目中使用到了UILable来展示相关的文本内容 ...

  2. CDS标准视图:维修工单实际成本数据 I_MaintOrderActualCostDataCube

    视图名称:维修工单实际成本数据 I_MaintOrderActualCostDataCube 视图类型:基础 视图代码: 点击查看代码 @VDM.viewType: #COMPOSITE @AbapC ...

  3. 2020年最新消息中间件MQ与RabbitMQ面试题-copy

    为什么使用MQ?MQ的优点 简答 异步处理 - 相比于传统的串行.并行方式,提高了系统吞吐量. 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理. 流量削锋 - 可以通过消息队列长度控制请求量 ...

  4. C# Caching---Cache 缓存

    1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 usin ...

  5. Java实现LDAP登录

    LDAP的全称是Lightweight Directory Access Protocol(轻量级目录访问协议),是一种用于访问和管理分布式目录信息服务的应用协议.LDAP通常用于存储用户.组和其他组 ...

  6. ctfshow 红包题第七弹 .git

    .git源码泄露 发现有后们 flag在上级目录里面 直接Letmein=show_source('../flag.txt');就出来了

  7. openbox每日开机自动切换网络壁纸

    目的 利用bing的每日一图, 每天切换壁纸 开干 联网后下载图片 利用networkmanage启动后执行脚本 netafter.sh 文件地址: /etc/NetworkManager/dispa ...

  8. NAT原理:概念、使用场景、转发流程及规则

    本文分享自天翼云开发者社区<NAT原理:概念.使用场景.转发流程及规则>,作者:x****n 网络地址转换(NAT)是一种在计算机网络中将一个网络的IP地址转换为另一个网络的IP地址的技术 ...

  9. redis渐进式rehash

    本文分享自天翼云开发者社区<redis渐进式rehash>,作者:l****n Redis是k-v型数据库,其内部设计了一种dict类型的数据结构用来存储键值结构. dict 通常的存储结 ...

  10. 小米10至尊纪念版—官方稳定版一键 TWRE刷入+面具ROOT

    1.解锁BL http://www.miui.com/unlock/index.html 2.备份+关机(虽然不会清理数据,但是小心为上) 3.音量下+开机进入fastboot模式 4.解压压缩包,运 ...