Linux环境下编程遇到“fatal error:stdio.h:没有那个文件或目录”错误解决办法

我是荔园微风,作为一名在IT界整整25年的老兵,今天总结一下linux环境下如何解决一个常见的问题,也就是“fatal error:stdio.h:没有那个文件或目录”错误。

不少初学者在linux环境下用gcc编译C语言时,经常会遇到这个问题。

比如当你写好C语言代码时,你一般会用gcc -o test001 test001.c去编译这个C语言代码,但是一般会弹出这个错误提示,如下图:

 那这样弄下去,永远无法编译通过了。

为什么会这样?

这个主要就是因为上面安装的gcc版本不对,和软硬件不兼容,导致了这个问题。

下面我们来说解决办法。

quzhou@quzhou-L410-KLVU-WDU0:~/桌面$ gcc -o test001 test001.c
test001.c:1:9: fatal error: stdio.h: 没有那个文件或目录
    1 | #include<stdio.h>
      |         ^~~~~~~~~
compilation terminated.

当看到如上错误提示后,我们立即输入下面命令卸载gcc

quzhou@quzhou-L410-KLVU-WDU0:~/桌面$ sudo apt-get remove gcc
[sudo] quzhou 的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  cryptsetup cryptsetup-bin libyaml-cpp0.6 localechooser-data user-setup
使用'sudo apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
  gcc
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 23 个软件包未被升级。
解压缩后将会空出 51.2 kB 的空间。
您希望继续执行吗? [Y/n] y
(正在读取数据库 ... 系统当前共安装有 186794 个文件和目录。)
正在卸载 gcc (4:9.3.0-11.185.1kylin2k6) ...
正在处理用于 man-db (2.9.1-1kylin0k1hw1) 的触发器 ...

然后赶紧安装一下适合本系统的gcc版本

quzhou@quzhou-L410-KLVU-WDU0:~/桌面$ sudo apt-get install gcc
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  cryptsetup cryptsetup-bin libyaml-cpp0.6 localechooser-data user-setup
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
  libc-dev-bin libc6 libc6-dev libcrypt-dev manpages manpages-dev
建议安装:
  gcc-multilib autoconf automake libtool flex bison gdb gcc-doc glibc-doc
下列【新】软件包将被安装:
  gcc libc-dev-bin libc6-dev libcrypt-dev manpages manpages-dev
下列软件包将被升级:
  libc6
升级了 1 个软件包,新安装了 6 个软件包,要卸载 0 个软件包,有 22 个软件包未被升级。
需要下载 8,821 kB 的归档。
解压缩后会消耗 22.5 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 https://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-pv/main arm64 libc6 arm64 2.31-0kylin9.1k20.6 [2,495 kB]
获取:2 https://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-pv/main arm64 manpages all 5.05-1 [1,352 kB]
获取:3 https://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-pv/main arm64 gcc arm64 4:9.3.0-11.185.1kylin2k6 [7,100 B]
获取:4 https://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-pv/main arm64 libc-dev-bin arm64 2.31-0kylin9.1k20.6 [293 kB]
获取:5 https://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-pv/universe arm64 libcrypt-dev arm64 1:4.4.10-10kylin4k3 [113 kB]
获取:6 https://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-pv/main arm64 libc6-dev arm64 2.31-0kylin9.1k20.6 [2,293 kB]
获取:7 https://archive.kylinos.cn/kylin/KYLIN-ALL 10.1-pv/main arm64 manpages-dev all 5.05-1 [2,267 kB]
已下载 8,821 kB,耗时 1秒 (7,505 kB/s)
正在预设定软件包 ...
(正在读取数据库 ... 系统当前共安装有 186758 个文件和目录。)
准备解压 .../libc6_2.31-0kylin9.1k20.6_arm64.deb  ...
正在解压 libc6:arm64 (2.31-0kylin9.1k20.6) 并覆盖 (2.31-0kylin9.1k20.5) ...
正在设置 libc6:arm64 (2.31-0kylin9.1k20.6) ...
正在选中未选择的软件包 manpages。
(正在读取数据库 ... 系统当前共安装有 186758 个文件和目录。)
准备解压 .../0-manpages_5.05-1_all.deb  ...
正在解压 manpages (5.05-1) ...
正在选中未选择的软件包 gcc。
准备解压 .../1-gcc_4%3a9.3.0-11.185.1kylin2k6_arm64.deb  ...
正在解压 gcc (4:9.3.0-11.185.1kylin2k6) ...
正在选中未选择的软件包 libc-dev-bin。
准备解压 .../2-libc-dev-bin_2.31-0kylin9.1k20.6_arm64.deb  ...
正在解压 libc-dev-bin (2.31-0kylin9.1k20.6) ...
正在选中未选择的软件包 libcrypt-dev:arm64。
准备解压 .../3-libcrypt-dev_1%3a4.4.10-10kylin4k3_arm64.deb  ...
正在解压 libcrypt-dev:arm64 (1:4.4.10-10kylin4k3) ...
正在选中未选择的软件包 libc6-dev:arm64。
准备解压 .../4-libc6-dev_2.31-0kylin9.1k20.6_arm64.deb  ...
正在解压 libc6-dev:arm64 (2.31-0kylin9.1k20.6) ...
正在选中未选择的软件包 manpages-dev。
准备解压 .../5-manpages-dev_5.05-1_all.deb  ...
正在解压 manpages-dev (5.05-1) ...
正在设置 manpages (5.05-1) ...
正在设置 gcc (4:9.3.0-11.185.1kylin2k6) ...
正在设置 libcrypt-dev:arm64 (1:4.4.10-10kylin4k3) ...
正在设置 libc-dev-bin (2.31-0kylin9.1k20.6) ...
正在设置 manpages-dev (5.05-1) ...
正在设置 libc6-dev:arm64 (2.31-0kylin9.1k20.6) ...
正在处理用于 man-db (2.9.1-1kylin0k1hw1) 的触发器 ...
正在处理用于 libc-bin (2.31-0kylin9.1k20.5) 的触发器 ...
/sbin/ldconfig.real: /usr/lib/libtinyxml2.so.8 is not a symbolic link

通过这样安装后,我们再用gcc -o进行编译,你就会发现一切正常了,所有问题都解决了。

如果本文帮你解决了问题,留言给个赞吧

作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

涂鸦智能生活App SDK:全量级灵活定制,让你的App更具差异化

之前一期&#xff0c;我们介绍过涂鸦 OEM App 开发方案&#xff08;点击查看往期介绍&#xff09;&#xff0c;它集品牌 UI 自定义、服务、运营、商城营销于一体&#xff0c;无需代码&#xff0c;开发者点选拖拽即可快速配置想要的常用功能&#xff0c;最快 10 分钟即可完成一款…

一文打尽目标检测NMS(1): 精度提升篇

文章来自于&#xff1a;曲終人不散丶知乎&#xff0c; 连接&#xff1a;https://zhuanlan.zhihu.com/p/151914931&#xff0c; 本文仅用于学术分享&#xff0c;如有侵权&#xff0c;前联系后台做删文处理。 众所周知&#xff0c;非极大值抑制NMS是目标检测常用的后处理算法&…

测试的分类(按测试对象、是否查看代码、开发阶段、实施组织...... + 思维导图总结)

目录 一、测试的分类 1. 按测试对象划分 2. 按照是否查看代码划分 3. 按照开发阶段划分 4. 按照测试实施组织划分 5. 按照是否运行划分 6. 按照是否手工划分 7. 按照地域划分 二、总结 一、测试的分类 1. 按测试对象划分 &#xff08;1&#xff09;界面测试 简称UI测…

自学黑客(网络安全)如何入门?收藏这篇就够了

前言&#xff1a; 趁着今天下班&#xff0c;我花了几个小时整理了下&#xff0c;非常不易&#xff0c;希望大家可以点赞收藏支持一波&#xff0c;谢谢。 我的经历&#xff1a; 我19年毕业&#xff0c;大学专业是物联网工程&#xff0c;我相信很多人在象牙塔里都很迷茫&#x…

从零开始写一个Vue3+Element Plus的后台管理系统

写在开始之前 接触Vue3也有一年的时间了&#xff0c;除了刚开始用Vue3做了一个小小的项目&#xff0c;其后一直没有机会在项目中真正使用Vue3&#xff0c;反而一直维护Vue2的老项目。作为一个有追求&#xff08;wuliao&#xff09;的前端&#xff0c;那就自己开一个git仓库练手…

基于AT89C51单片机的电子琴设计与仿真

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87765092?spm1001.2014.3001.5503 源码获取 运用单片机&#xff0c;将音乐的大部分音符与相应按键相匹配&#xff0c;让音乐爱好者利用单片机也可以进行演奏。 基…

前端架构师-week6- ejs源码讲解

ejs 源码详解——彻底搞懂模版动态渲染原理 ejs 执行流程 源码实现思路非常有趣&#xff0c;实现难度实现流程不如前几章源码复杂。但是思路完全不同&#xff0c;用了一套新的思路来实现 ejs 模版渲染。重要的是通过这种思路开阔自己的眼界。ejs 的思路在 vue 中也有用到。 核…

VMware安装Ubuntu系统

VMware安装Ubuntu系统 1.首先选择文件&#xff0c;点击新建虚拟机 2.选择自定义&#xff0c;点击下一步 3.点击下一步 4.选择稍后安装操作系统&#xff0c;点击下一步 5.选择Linus操作系统&#xff0c;版本选择Ubuntu64位&#xff0c;点击下一位 6.自己看图 7. 这里根据自…

Leetcode50. Pow(x, n)

Every day a Leetcode 题目来源&#xff1a;50. Pow(x, n) 解法1&#xff1a;递归 代码&#xff1a; /** lc appleetcode.cn id50 langcpp** [50] Pow(x, n)*/// lc codestart class Solution { public:double myPow(double x, int n){if (n 0)return 1.0;if (n < 0)re…

必定收藏:国内免费可用 ChatGPT 网页版

ChatGPT是一个基于人工智能的聊天机器人&#xff0c;它可以与用户进行自然语言交互。ChatGPT使用了最新的自然语言处理技术&#xff0c;包括深度学习和神经网络&#xff0c;以便更好地理解用户的意图和回答用户的问题。 ChatGPT可以回答各种问题&#xff0c;包括但不限于常见问…

让chatGPT给我写一个CSS,我太蠢了

前言 CSS这东西&#xff0c;让AI写的确有点难度&#xff0c;毕竟它写出来的东西&#xff0c;没办法直接预览&#xff0c;这是其次。重要的是CSS这东西怎么描述&#xff0c;不好描述啊&#xff0c;比如我让他给我制作一个这样的效果出来&#xff0c;没办法描述&#xff0c;所以…

5.13下周黄金最新行情走势分析及多空交易策略

近期有哪些消息面影响黄金走势&#xff1f;下周黄金多空该如何研判&#xff1f; ​黄金消息面解析&#xff1a;周五(5月12日)美市尾盘&#xff0c;现货黄金收报2010.23美元/盎司&#xff0c;下跌4.57美元或0.23%&#xff0c;日内最高触及2022.59美元/盎司&#xff0c;最低触及…

小程序组件

swiper swiper 和 swiper-item 结合使用&#xff0c;&#xff0c; swiper有默认高度 300rpx 属性&#xff1a; autoplay &#xff1a; 自动播放circular &#xff1a; 循环播放indicator-dots &#xff1a; 显示指示点indicator-active-color &#xff1a; 轮播选中的颜色 &…

cookie、session、token的区别是什么

前言 今天就来说说session、cookie、token这三者之间的关系&#xff01;最近这仨玩意搞得头有点大&#x1f923; 1.为什么会有它们三个&#xff1f; 我们都知道 HTTP 协议是无状态的&#xff0c;所谓的无状态就是客户端每次想要与服务端通信&#xff0c;都必须重新与服务端链接…

空调群控、智能报警,这些设备有点牛

空调绝对是夏季使用率高的电器之一&#xff0c;尤其是今年全国各地高温不断&#xff0c;说“命都是空调给的”都不为过...... 在家的时候&#xff0c;我们可以随手开关空调&#xff0c;非常方便&#xff0c;如果是学校教学楼、工厂宿舍、银行网点、办公大楼、机房等地的管理者…

一个打通基于XML管理Bean

目录 准备工作 添加依赖 引入配置文件 获取bean ①方式一&#xff1a;根据id获取 ②方式二&#xff1a;根据类型获取 ③方式三&#xff1a;根据id和类型 ④注意的地方 ⑤扩展知识 依赖注入之setter注入 ①创建学生类Student ②配置bean时为属性赋值 ③测试 依赖注…

ChatGPT搭建AI网站实战

1.概述 ChatGPT是一款基于GPT-3.5架构的大型语言模型&#xff0c;它能够进行自然语言处理和生成对话等任务。作为一款智能化的聊天机器人&#xff0c;ChatGPT有着广泛的应用场景&#xff0c;如在线客服、智能助手、个性化推荐等。今天笔者给大家分享一下如何使用ChatGPT的API模…

开发环境搭建和创建STM32工程

目录 一、开发环境搭建 1. STM32CubeMX 2.Keil安装 二、创建STM32工程 一、开发环境搭建 1. STM32CubeMX ST公司出品 工具链接 https://www.st.com/zh/development-tools/stm32cubemx.html STM32CubeMX是一种图形工具&#xff0c;通过分步过程可以非常轻松地配置STM32微控制器和…

【IIS搭建网站】如何使用本地电脑做服务器搭建web站点并公网访问

目录 前言 Windows网页设置 Windows IIS功能设置 IIS网页访问测试 Cpolar内网穿透 下载安装Cpolar Cpolar云端设置 3.3 Cpolar本地设置 公网访问测试 结语 前言 在网上各种教程和介绍中&#xff0c;搭建网页都会借助各种软件的帮助&#xff0c;比如网页运行的Apache…

字节面试挂在2面,复盘总结了经验,决定再战一次.....

先说下我基本情况&#xff0c;本科不是计算机专业&#xff0c;现在是学通信&#xff0c;然后做图像处理&#xff0c;可能面试官看我不是科班出身没有问太多计算机相关的问题&#xff0c;因为第一次找工作&#xff0c;字节的游戏专场又是最早开始的&#xff0c;就投递了&#xf…