【问题标题】:How to add and compile my QT application in Yocto image (which contains QT-5 layer.)?如何在 Yocto 镜像(包含 QT-5 层)中添加和编译我的 QT 应用程序?
【发布时间】:2022-03-03 17:01:12
【问题描述】:

我正在尝试将 qt 小部件应用程序/项目添加到我的 yocto 图像并通过它进行编译。我知道我必须添加一个自定义层并制作一个参考 qt 应用程序文件的配方。我还继承了 qmake5 并插入了 DEPENDS += "qtbase",但我对在我的配方中通过 SRC_UI 引用哪些文件感到困惑。 QT 应用程序文件是一个名为“hi”的简单项目,它不包含任何额外的代码并弹出一个普通的 helloworld 窗口。项目文件包含以下文件:

    main.cpp 
    hi.pro 
    hi.pro.user
    mainwindow.cpp 
    mainwindow.h 
    ui_mainwindow.h

使用上述文件的参考配方将非常有帮助。谢谢。

【问题讨论】:

    标签: qt yocto


    【解决方案1】:

    我在Yocto 中有一个关于QT 食谱的旧回复。

    检查:how to build simple qt application using yocto?

    它包含一个参考 hello world 配方。

    您只需将文件复制到食谱文件夹并指定SRC_URI 中的所有文件或:

    如果你的项目收藏在一个文件夹hi:

    hi 放在qtexample/files 下并在配方中指定:

    SRC_URI = "file://hi"
    S = "${WORKDIR}/hi"
    

    编辑

    别忘了提到要打包的文件:

    FILES_${PN} = "/opt/*"
    

    EDIT2

    如果您的配方在运行时依赖于一个库或一组工具,请检查哪些配方提供了这些库并添加到您的配方中:

    RDEPENDS_${PN} += "recipe"
    

    recipe 是提供运行时依赖项的地方。

    【讨论】:

    • 我已关注该帖子。我已将所有 qt 文件(包括 QT 的 build_release 文件夹中的文件)放入名为 hi 的文件夹中,并使用 SRC_URI += "file://hi" hi 包含所有 .cpp .h .ui 在配方中提供参考.o 和 .pro 类型的文件。现在发生错误:helloworld:文件/目录已安装但未在任何软件包中提供:/opt/hi/bin/hi 我添加了以下内容以消除错误但未成功。 do_install_append () { install -d ${D}/opt/hi/bin install -m 0755 hi ${D}/opt/hi/bin } FILES_${PN} += "/opt/hi/bin/hi"
    • 尝试指定所有文件FILES_${PN} = "/opt/*"
    • 镜像好像建好了。我现在要在我的树莓派上测试它。你能详细说明一下包裹问题背后的原因吗?
    • do_package 任务需要知道要设置哪些文件进行打包,如果找到,它会将安装在${D} 中的文件复制到${WORKDIR}/package 以便do_package_rpm/deb/ipk/tar 创建一个包FILES 中未指定的文件,则发生该错误,这是一个 QA 检查,因此您只安装将要打包的文件。
    • 我在回复中添加了FILES 行,如果我的回复解决了您的问题,请不要忘记接受它作为正确答案。
    猜你喜欢
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多