Yocto构建Raspberry Pi4 Qt6应用时do_fetch文件获取失败求助
问题解决:Yocto构建Qt6应用时无法找到源文件
核心原因
你的qtexample_0.1.bb中SRC_URI指定的本地文件路径与实际存放位置不匹配,导致do_fetch任务无法定位到qtexample.pro和qtexample.cpp。
修复方案
方案1:遵循Yocto默认路径规范(推荐)
Yocto对file://协议的默认查找路径是对应recipe目录下的files子文件夹。你的recipe路径为/meta-custom/recipe-apps/qtexample/qtexample_0.1.bb,操作步骤如下:
- 创建目录:
/meta-custom/recipe-apps/qtexample/files - 将
qtexample.pro和qtexample.cpp移动到上述files目录 - 保持原有
SRC_URI配置不变,Yocto会自动从files目录读取文件
方案2:修改SRC_URI指定绝对路径
若不想移动文件,可直接在SRC_URI中写入文件的绝对路径:
SRC_URI = "file:///qtexample/file/qtexample.pro \ file:///qtexample/file/qtexample.cpp"
注意:该方式因路径硬编码,会降低recipe的可移植性,不推荐使用。
验证修复
修改完成后,清理构建缓存并重新执行构建:
bitbake -c cleansstate qtexample bitbake custom-image
额外检查项
- 确认
meta-qt6层已正确添加到bblayers.conf,且分支与Yocto Kirkstone、Qt6.5 LTS匹配 - 确认
inherit qt6-qmake配置正确,该类会自动处理Qt6项目的qmake构建流程 - 当前
DEPENDS += "qtbase"(编译依赖)和RDEPENDS_${PN} += "qtwayland"(运行依赖)的配置无问题
内容的提问来源于stack exchange,提问作者Ironside
相关产品推荐
相关产品推荐

