Yocto Recipe未将Qt应用安装至RootFS问题求助
解决Yocto中Qt应用Recipe未将可执行文件安装到RootFS的问题
针对你遇到的BitBake未将BasicQuick应用安装到RootFS的问题,可按以下步骤排查和修复:
1. 修正do_install中的可执行文件路径
当继承qmake5时,qmake默认会在**构建目录(${B})**生成可执行文件,而非源码目录(${S})。你的Recipe中直接引用${S}下的BasicQuick,大概率找不到编译后的文件。修改do_install:
do_install() { install -d ${D}${bindir} # 改用构建目录下的可执行文件 install -m 0755 ${B}/BasicQuick ${D}${bindir} }
2. 验证FILES_${PN}配置
虽然你已添加${bindir}/BasicQuick到FILES_${PN},但可简化配置:${bindir}是FILES_${PN}的默认包含路径,只要可执行文件正确安装到${D}${bindir},无需额外添加。若需明确指定,确保路径无多余空格:
FILES_${PN} += "${bindir}/BasicQuick"
3. 检查BitBake安装日志定位问题
执行以下命令查看安装阶段的详细日志,确认文件是否被正确复制:
bitbake basicquick -c install -D
若日志中出现No such file or directory的错误,说明可执行文件路径错误;若显示成功复制,但RootFS中仍无文件,需检查镜像生成时的包过滤规则。
4. 确认临时安装目录的文件存在
查看BitBake临时安装目录,确认文件已被安装:
ls -l ${WORKDIR}/image${bindir}/BasicQuick
如果该文件存在,说明问题出在镜像打包阶段,需检查IMAGE_INSTALL是否正确添加了该包,或是否有PACKAGE_EXCLUDE等规则排除了它。
5. 检查qmake项目配置
确保BasicQuick的.pro文件中,TARGET设置为BasicQuick,且未指定自定义输出目录。若.pro中有DESTDIR配置,需对应调整do_install中的路径。
内容的提问来源于stack exchange,提问作者Mohammed Rashad
相关产品推荐
相关产品推荐

