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

news2024/9/25 5:22:42

零、问题

在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:没有那个文件或目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/738865.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

和鲸社区数据分析每周挑战【第九十七期:技术博客文本分析】

和鲸社区数据分析每周挑战【第九十七期:技术博客文本分析】 文章目录 和鲸社区数据分析每周挑战【第九十七期:技术博客文本分析】一、背景描述二、数据说明三、问题描述四、数据导入五、数据探索性分析六、对文章标题进行文本分类预测1、数据预处理2、逻…

C++万字自学笔记

[TOC] 一、 C基础 C的IDE有CLion、Visual Studio、DEV C、eclipse等等&#xff0c;这里使用CLion进行学习。 0. C初识 0.1 第一个C程序 编写一个C程序总共分为4个步骤 创建项目创建文件编写代码运行程序 #include <iostream>int main() {using namespace std;cout…

新手如何快速安装电脑监控软件?

越来越多的管理者选择使用电脑监控软件&#xff0c;许多新手不知道具体怎样安装&#xff0c;本期将为大家介绍下具体的安装流程。 电脑监控软件购买之后&#xff0c;会提供网址和账号密码&#xff0c;登录后需要先添加员工信息&#xff0c;有三种方法&#xff1a; &#xff0…

Android性能优化(bin启动优化)

我们平时会在android里面写个bin程序来干点活&#xff0c;但是有时候我们会发现很奇怪的现象&#xff0c;我明明很早就启动这个bin了&#xff0c;但是过了很久bin程序的main函数才被调用~。这个是为啥呢&#xff1f;主要有2个原因&#xff1a; 一.bin程序依赖的so库太多&#…

steam搬砖项目,csgo游戏搬砖熟练操作后,可以月入过万~

科思创业汇 大家好&#xff0c;这里是科思创业汇&#xff0c;一个轻资产创业孵化平台。赚钱的方式有很多种&#xff0c;我希望在科思创业汇能够给你带来最快乐的那一种&#xff01; 网上创业创造了一批赚钱的人&#xff0c;年收入从几十万到几百万不等&#xff0c;营业额从几…

基于springboot房屋租赁管理系统

开发工具&#xff1a;IDEA&#xff0c;jdk1.8 服务器&#xff1a;tomcat9.0 数据库&#xff1a;mysql5.7 前端&#xff1a;jsp、bootstrap 技术&#xff1a; springbootmybatis-plus 系统主要分前台和后台&#xff0c;分租客、房东、管理员三个角色 系统功能介绍说明&…

nodejs 高级编程-通信

一、通信基本原理 通信必要条件 主机之间需要有传输介质主机上必须有网卡设备主机之间需要协商网络速率 二、网络通讯方式 常见的通讯方式 交换机通讯路由器通讯 如何建立多台主机互连&#xff1f; 如何定位局域网中的其他主机&#xff1f; 通过Mac地址来唯一标识一台主机…

hcip笔记---ospf的LSA限制和不规则区域

有关ACL&#xff1a;例如&#xff1a;1.1.1.0 0.0.0.255这个网段以及后面跟随的通配符&#xff0c;通配符和反掩码长得很像&#xff0c;同时都是用0标识不可变&#xff0c;1标识可变&#xff0c;但反掩码里的1和0必须连续出现&#xff0c;而通配符则不需要遵循这个规则&#xf…

深入思考Sui的独特性如何构建出跨时代的产品

近日&#xff0c;我们与Mysten Labs产品总监Janet Wu面对面探讨了Web3的产品开发过程&#xff0c;了解了她对Sui上最激动人心的产品用例的看法&#xff0c;以及她对该行业未来的展望。 您能简单介绍一下在Mysten Labs担任产品总监意味着什么吗&#xff1f; 对我而言&#xff…

0基础学习VR全景平台篇 第59篇:专业版功能-跨账号复制

功能位置示意 一、本功能将用在哪里&#xff1f; 跨账号复制&#xff0c;是指将本账号中已发布的VR漫游作品一键复制给其他账号使用。 复制成功后&#xff0c;其他账号中也会生成同样的作品以及获得相关的全景、音频、图片、视频等素材。 并且原作品和复制品可以独立编辑&am…

K8s为什么需要calico? calico 原理深入理解.

文章目录 为什么需要calico&#xff1f;-网络插件”千千万”&#xff0c;为何k8s要用calicocalico的架构calico Pod 跨node通信tunl0 的作用&#xff1f;为什么所有pod的默认网关都是169.254.1.1 &#xff1f;什么是ARP 代理&#xff1f;jksj BGP模式的calico工作原理calico BG…

vue3 报错解决:找不到模块‘xxx.vue’或其相应的类型声明。(Vue 3 can not find module)

src下面建立一个xx.d.ts的文件 declare module *.vue {import { ComponentOptions } from vueconst componentOptions: ComponentOptionsexport default componentOptions }

使用3DEXPERIENCE平台有效管理设计变更,随时处理问题

临时处理设计变更&#xff0c;电脑却不在身边怎么办?借助3DEXPERIENCE平台&#xff0c;我们可以轻松的用手机打开模型&#xff0c;还能够随时随地查看其他人的工作进展并进行审批。 在工作过程中&#xff0c;工程师小A发现&#xff0c;装配体的零件强度有点弱&#xff0c;小A…

HTML 第二部分 (前端学习)

由于&#xff0c;HTML的部分实在是太多了&#xff0c;第一部分&#xff0c;还没学一半&#xff0c;就已经抄了1w字。而且可能&#xff0c;真正用上的也比较少&#xff0c;更何况&#xff0c;一直坚持&#xff0c;一个不落的学下去&#xff0c;也存在一点注意力分散的困难&#…

ATM自助取款系统(Java)

文章目录 完整程序1. 课程设计目的2. 课程设计任务与要求3. 课程设计说明书3.1 需求分析3.1.1 功能分析3.1.2 性能要求分析 3.2 概要设计3.2.1 功能模块图&#xff0c;如图1。 3.3 详细设计3.3.1 实体类的设计3.3.2 实现数据库处理 3.4 主要程序功能流程图 4. 课程设计成果4.1 …

Linux——进程信号的发送

目录 一.信号发送的概念 首先来讲几个发送术语&#xff1a; 它有三种情况&#xff1a; 注意&#xff1a; 二.信号在内核中的表示示意图 三.信号捕捉 所以总结一下&#xff1a; 此时&#xff0c;会出现这样一个疑问&#xff1a;操作系统是如何得知现在被执行的进程是用户态…

DuDuTalk:4G录音工牌如何帮企业实现,线下服务的远程实时监督?

数字化时代&#xff0c;企业越来越重视客户体验。而线下服务是企业的员工跟客户直接互动最重要的环节&#xff0c;这直接关乎到客户对品牌、产品、服务的最直观评价和反馈&#xff0c;最终影响客户的购买和成交。 但企业的线下服务场景往往又是企业数字化最薄弱的一环&#xf…

Qt,day4

闹钟 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);this->setWindowTitle("闹钟");this->setWindowIcon(QIcon("D:\\HQYJRJ\\QT\\day1\\…

【Python爬虫开发基础⑫】requests库概述(文件上传、cookies处理、状态码处理、异常处理等)

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;python网络爬虫从基础到实战 欢迎订阅&#xff01;后面的内容会越来越有意思~ &#x1f4a1;往期推荐&#xff1a; ⭐️前面比较重要的基础内容&#xff1a; 【Python爬…

数据平台之数仓模型设计

文章目录 前言一、维度建模基本概念1.1 事实表1.2 维度表 二、维度建模三种模式2.1 星型模型2.2 雪花模式2.3 星座模式 三、ChatGPT代替Sql Boy3.1 简单案例3.2 复杂案例 四、总结 前言 看到几篇不错的文章&#xff0c;自己总结合并了分享给小伙伴 金博尔和恩门共同开创的数仓…