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

Qt 5.15交叉编译树莓派CM4时编译最小程序失败错误求助

解决Qt交叉编译时"Cannot compile a minimal program"错误

以下是针对该问题的排查与修复步骤:

  • 验证交叉工具链可用性
    先手动确认交叉编译器能正常运行,执行:

    /home/你的用户名/Documents/Qt-CrossCompile-RaspberryPi/raspberrypi4/tools/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --version
    

    若命令报错,检查工具链路径是否正确、文件是否完整解压,以及当前用户是否有执行权限。

  • 修复sysroot完整性与符号链接
    sysroot需包含树莓派完整的系统库和头文件,常见问题是符号链接失效:

    1. 重新同步树莓派系统文件到本地sysroot(替换<树莓派IP>为实际地址):
      rsync -avz --rsync-path="sudo rsync" pi@<树莓派IP>:/lib/ /home/你的用户名/Documents/Qt-CrossCompile-RaspberryPi/raspberrypi4/sysroot/lib/
      rsync -avz --rsync-path="sudo rsync" pi@<树莓派IP>:/usr/include/ /home/你的用户名/Documents/Qt-CrossCompile-RaspberryPi/raspberrypi4/sysroot/usr/include/
      rsync -avz --rsync-path="sudo rsync" pi@<树莓派IP>:/usr/lib/ /home/你的用户名/Documents/Qt-CrossCompile-RaspberryPi/raspberrypi4/sysroot/usr/lib/
      
    2. 用Qt自带脚本修复sysroot内的相对链接:
      python3 ../qt-everywhere-src-5.15.2/qtbase/bin/sysroot-relativelinks.py /home/你的用户名/Documents/Qt-CrossCompile-RaspberryPi/raspberrypi4/sysroot
      
  • 调整configure路径参数
    将命令中的~替换为绝对路径(避免波浪号解析错误),确保-device-option CROSS_COMPILE指向的路径下存在arm-linux-gnueabihf-gcc、arm-linux-gnueabihf-g++等工具。

  • 清理干扰环境变量
    暂时清空本地编译环境变量,避免干扰交叉编译:

    unset CC
    unset CXX
    

    之后重新运行configure命令。

  • 分析详细日志定位问题
    你的configure命令已添加-v参数,查看输出日志中编译最小程序时的具体错误信息(比如库缺失、链接失败等),根据具体提示针对性修复。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:55:21