/usr/include/c++/6/cstdlib:75:25: fatal error: stdlib.h: No such file or directory

1.错误原因

报错如上。后来经过查阅,发现这个错误是因为由于gcc6的缘故。我的gcc 版本是6.5的。gcc6已经把吧stdlib.h纳入了libstdc++以进行更好的优化,C Library的头文件stdlib.h使用 Include_next,而include_next对gcc系统头文件路径很敏感。

所以这里我们不要把include路径作为系统目录,而是使用标准方式包含include 目录。

2.解决办法

在cmake 编译的时候,加上 以下命令在里面,即可成功。

1
-DENABLE_PRECOMPILED_HEADERS=OFF