在linxu系统中,编写c语言程序我们需要使用到GCC编译器。但是当我们成功安装后使用的时候,编译程序,例如执行编译命令:

gcc hello.c -o hello.out

结果报错了,主要内容如下:

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

compilation terminated.

如下图所示:

出些这样的问题,主要原因可能是因为修改软件下载源地址的时候没有考虑系统版本。选择了错误的系统版本,导致下载的gcc编译器不匹配。

解决办法如下:

1、查看系统代号

打开终端,输入下列命令:

lsb_release -a

然后结果如下图,Codename的值 focal 即为系统代号。我们先暂时记录该系统代号。

2、检查源地址系统代号是否正确

在终端中输入:

sudo gedit /etc/apt/sources.list

在弹出的文本编辑器中,检查源地址中的系统代号是否与第一步中的代号一致。

一般出现上述错误都是这里出了问题。只要把它修改为自己的系统代号问题就可以解决了。

3、修改源地址

我这里时bionic,所以应该为focal.

4、设置立即生效

在终端中,执行下面命令,使修改后立即生效,并且还可以检测修改有没有错。

sudo apt-get update

如下图,没有报错,说明修改没有问题。 

5、卸载原先下载的gcc

配置完成后,卸载原来已经安装的gcc,然后重新安装就可以使用了。

sudo apt-get remove gcc

6、安装gcc

sudo apt-get install gcc

 

版本正确后,下载gcc安装完成后,再次对c程序进行编译就不会出现错误了。

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐