Linux Qt下报/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory 错误

现象

最近在Ubuntu下写了个小程序,运行后老是报如下错误:

/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory #include_next <stdlib.h>

Linux Qt下报/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory 错误_第1张图片

原因:

查找资料了解到:

这是由于gcc7已经吧stdlib.h纳入了libstdc++以进行更好的优化,C Library的头文件stdlib.h使用 Include_next,而include_next对gcc系统头文件路径很敏感。

解决方法:

方法一:
在Qt的.pro文件中去除如下一行:

INCLUDEPATH +=/usr/include

方法二:
在Qt的.pro文件中添加如下一行:

QMAKE_CFLAGS_ISYSTEM = -I

参考:https://stackoverflow.com/questions/52532936/usr-include-c-7-cstdlib7515-fatal-error-stdlib-h-no-such-file-or-directo

你可能感兴趣的:(C语言)