Ubuntu g++ GCC工程编译时报错:”stdlib.h: 没有那个文件或目录“的解决办法

问题描述:

、/usr/include/c++/9/cstdlib:75:15:fatal error:stdlib.h:没有那个文件或目录

#include_next <stdlib.h>

问题原因及解决办法:

我遇到这个问题的原因是我在Ubuntu虚拟机里用下载压缩包的办法下载编译安装了gcc但是没有加头文件环境后面虽然安装了build-essential但还是这个问题,我试过把需要的头文件一个一个拷贝到需要的目录,结果到最后出现满屏满屏的error,回滚后开始改环境参数但是还是没有用,期间用apt-get 安装过gcc没用,用网上更改gcc版本号的方式也没有用,gcc还是原来的版本根本没变成apt-get安装的版本。最后我是回滚到下载压缩包方法安装gcc之前的状态,再用apt-get 安装build-essential 才解决的。解决后分析问题查阅资料发现可供终端调用的执行文件一般在 /bin 目录,而且往往是在/usr/bin/目录下,我是没有删除原gcc执行文件换成新的执行文件才导致build-essential安装后问题没有解决。还有#include_next<stdlib.h>显示的这个问题是由于cstdlib需要的stdlib.h不是和他同一目录下的stdlib.h,是下一个目录里的stdlib.h,也就是不能是C++里的而必须是c的,这就导致光复制一份到下个环境目录也会出现各种不同的且大量error信息,所以要解决问题必须把整个头文件环境复制进去,所以可行的解决方法只能是之前说的删除执行文件,并安装build-essential这个包含gcc,g++,make,以及头文件环境的综合包。

安装build-essential的命令是:

sudo apt update

sudo apt install build-essential

不能安装build-essential的可能问题是没有网络,源镜像不可用,可以自行搜索解决问题的办法。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值