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

Ubuntu18.04下Yocto编译Zeus后无法在Qt5添加Zeus5.4工具链求助

解决Qt5添加Yocto Zeus 5.4工具链时的「qmake: execve: No such file or directory」错误

咱们先把这个错误的本质说清楚:这个提示不一定是qmake文件真的找不到,绝大多数情况是qmake依赖的动态链接库缺失,或者工具链架构和当前Ubuntu系统不匹配,也可能是Qt Creator的环境配置没跟上。下面是一步步排查和解决的实操方案:

1. 先确认qmake的存在性与架构匹配度

首先找到你的Yocto Zeus工具链里qmake的实际路径,一般在/opt/poky/zeus/sysroots/<你的目标架构>/usr/bin/qmake这类路径下。打开终端执行:

ls -l <qmake的完整路径>

如果文件确实存在,再检查它的架构类型:

file <qmake的完整路径>

要是输出显示ELF 32-bit LSB executable...,而你的Ubuntu 18.04是64位系统,那问题就出在缺少32位运行依赖库,直接安装:

sudo apt-get install lib32z1 lib32ncurses5 lib32stdc++6

这三个是32位程序在64位Ubuntu上运行的基础依赖包。

2. 确保Yocto工具链的环境变量正确加载

Yocto工具链必须先加载对应的环境脚本才能正常工作,比如你的工具链目录下应该有environment-setup-<目标架构>-poky-linux这类脚本。终端里先执行:

source /opt/poky/zeus/environment-setup-<你的目标架构>-poky-linux

替换成你实际的脚本路径。加载完成后输入qmake -v,如果能正常输出版本信息,说明是Qt Creator没正确继承工具链的环境变量。

3. 调整Qt Creator的工具链配置

如果上面的测试没问题,那就是Qt Creator的配置出错了,按下面步骤调整:

  • 打开Qt Creator,进入Tools > Options > Kits
  • 先配置编译器:切换到Compilers标签,添加GCC编译器,选择Yocto工具链里的arm-poky-linux-gnueabi-gcc(根据你的目标架构调整),设置正确路径
  • 再配置调试器:切换到Debuggers标签,添加对应工具链里的arm-poky-linux-gnueabi-gdb
  • 最后配置Qt版本:切换到Qt Versions标签,点击Add,找到Yocto工具链里的qmake路径。如果还是报错,试试从终端加载环境脚本后启动Qt Creator:
source /opt/poky/zeus/environment-setup-<你的目标架构>-poky-linux
qtcreator &

这样Qt Creator会继承终端的环境变量,就能正确识别qmake的依赖库了。

4. 检查qmake的依赖库完整性

如果前面的步骤都没用,用ldd命令排查qmake的依赖:

ldd <qmake的完整路径>

输出里如果有not found的库,就是缺少对应的文件。可以通过设置LD_LIBRARY_PATH指定Yocto sysroots的库路径:

export LD_LIBRARY_PATH=/opt/poky/zeus/sysroots/<你的目标架构>/usr/lib:$LD_LIBRARY_PATH

设置后再运行qmake测试,没问题的话就按这个方式配置Qt Creator的启动环境。

5. 确认Yocto编译时包含了Qt开发包

最后别忘了检查Yocto的local.conf配置文件,确保添加了Qt5的开发相关包:

IMAGE_INSTALL_append = " qtbase-dev qtbase-tools qtbase-mkspecs"

如果编译时没加这些包,工具链里的qmake可能不完整,导致Qt Creator无法识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 07:29:37