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

为Qt 6.7.3 Qt Quick应用构建Yocto配方时遇文件查找错误

解决Yocto构建Qt6应用时CMake找不到main.cpp的问题

可能的原因及修复步骤

1. 校准配方中S变量的路径配置

Yocto配方必须正确指定源码根目录(S变量),路径错误会导致CMake无法定位项目文件:

  • 确保S指向你的Qt项目源码所在目录,例如:
    S = "${WORKDIR}/git"
    
  • 若源码在子目录中,需调整S到对应路径,比如:
    S = "${WORKDIR}/git/my_qt_application"
    

2. 验证CMakeLists.txt的源文件引用

Qt Creator生成的CMakeLists.txt可能依赖本地路径,需适配Yocto构建环境:

  • 检查add_executable块是否正确引用main.cpp,避免绝对路径,确保路径相对于CMakeLists.txt所在目录有效:
    add_executable(${PROJECT_NAME}
        main.cpp
        qml.qrc
    )
    

3. 确认源码解压/复制后的结构一致性

如果通过SRC_URI引入源码包,需保证解压后的目录结构和本地Qt Creator项目一致:

  • 检查SRC_URI配置,例如本地tar包的引入:
    SRC_URI = "file://my_qt_app.tar.gz"
    
    确认tar包解压后,main.cpp直接位于${S}目录下。

4. 完善Qt6相关继承与依赖配置

已添加inherit qt6-cmake,还需确保依赖配置完整:

  • 在配方中声明必要的Qt6模块依赖:
    DEPENDS += "qt6base qt6declarative qt6charts"
    
  • 确保inherit qt6-cmake放在配方元数据(如DESCRIPTION)之后,保证构建环境正确加载Qt6的CMake配置。

5. 清理构建缓存后重新构建

Yocto的构建缓存可能引发异常,执行以下命令清理后重新构建:

bitbake -c clean mygui
bitbake -c cleansstate mygui
bitbake mygui

6. 检查本地源码的引入方式

若未使用SRC_URI而是直接引用本地源码,需确保FILESPATH指向正确目录,或直接设置S为本地路径(推荐用SRC_URI管理源码)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:43:16