相关文章推荐
曾经爱过的皮蛋  ·  Ubuntu g++ ...·  4 小时前    · 
魁梧的排球  ·  ImageJ - 知乎·  1 年前    · 
玉树临风的香菜  ·  c# - ...·  1 年前    · 

问题描述:

、/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的可能问题是没有网络,源镜像不可用,可以自行搜索解决问题的办法。

已经在官网上下载好了redis并解压 wget http://download.redis.io/redis-5.0.7.tar.gz tar xvzf redis-5.0.7.tar.gz cd redis-5.0.7 sudo make install 于是遇到问题 听说要先安装 gcc ,装了以后但仍然会 报错 看了别人的办法,原来要... usr/ lib /x86_64-linux-gnu/qt5/mkspecs/linux- g++ -o tmp/obj/main.o main.cpp In file include d from /usr/ include / c++ /7/bits/stl_algo.h:59:0, from /usr/ include / c++ /7/algorithm:62, from /usr/ include /x86_64-l...
1.错误原因 报错 如上。后来经过查阅,发现这个错误是因为由于 gcc 6的缘故。我的 gcc 版本是6.5的。 gcc 6已经把吧 std lib .h纳入了 lib std c++ 以进行更好的优化,C Lib rary的头 文件 std lib .h使用 Include _next,而 include _next对 gcc 系统头 文件 路径很敏感。 所以这里我们不要把 include 路径作为系统 目录 ,而是使用标准方式包含 include 目录 。 2. 解决办法 在cmake 编译 候,加上 以下命令在里面,即可成功。 -DENABLE...
文件 位置 :etc/apt/sources.list # deb cdrom:[ Ubuntu 18.04.3 LTS _Bionic Beaver_ - Release amd64 (20190805)]/ bionic main restricted # See http://help. ubuntu .com/community/UpgradeNotes for how to upgrade t...