You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行Qmake后运行make出现编译错误求助

解决编译时stdlib.h找不到的错误

这个问题我之前碰到过,核心原因是你在ankidrive.pro里添加的INCLUDEPATH += /usr/include/打乱了GCC的头文件搜索顺序,导致#include_next <stdlib.h>无法找到系统标准的stdlib.h文件。

具体分析

从你提供的Makefile可以看到,INCPATH里包含了-isystem /usr/include,这会让GCC把/usr/include当作系统头文件路径来处理,但GCC自带的C++标准库头文件(比如/usr/include/c++/7/stdlib.h)里用#include_next <stdlib.h>是为了引用系统原生的/usr/include/stdlib.h。当你手动把/usr/include设为-isystem路径时,GCC的搜索逻辑被干扰,无法正确定位到系统的stdlib.h。

解决方案

  1. 修改.pro文件
    打开ankidrive.pro,删除这一行:

    INCLUDEPATH += /usr/include/
    

    系统默认已经会自动包含/usr/include这个标准头文件路径,不需要手动添加。

  2. 确认依赖完整性
    虽然你已经安装了build-essential,但可以再确认下libc6-dev是否安装(它包含系统标准头文件):

    sudo apt install libc6-dev
    
  3. 重新编译
    先清理之前的编译文件,再重新执行qmake和make:

    make clean
    qmake ankioverdrive.pro
    make
    

这样应该就能解决stdlib.h找不到的编译错误了。

内容的提问来源于stack exchange,提问作者Renji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:41:18