我使用 STM32MP 分发包和 X-LINUX-QT 插件为 STM32MP157F-DK2 板创建了 st-image-qt 映像。
我可以在 Linux 中使用 dd 命令刷新此映像,并且我的目标板运行正常。
另一方面,我使用 qt 6.7.3 创建了一个 qt 快速应用程序(我可以使用 qt 创建者测试它是否正常),现在我需要在我的 st-image-qt 图像中添加这个 qt 应用程序。我可以通过“bitbake mygui”来 bitbake 这个自定义食谱
我创建了自定义图层和自定义配方,并将此自定义图层添加到我的 bblayers 中。然后,我用这个自定义配方再次构建了图像,效果很好。
问题是我希望在我的 bin 目录中找到这个 qt 应用程序,但我看不到它。
SUMMARY = "This is the GUI for Hespect Software medical device"
DESCRIPTION = "Recipe created by bitbake-layers"
LICENSE = "CLOSED"
SECTION = "Mysection"
DEPENDS += " qtbase \
qtdeclarative-native \
qtdeclarative \
qtquick3d \
qtcharts"
RDEPENDS_${PN} += "qtwayland"
EXTRA_OECMAKE += "-DCMAKE_PREFIX_PATH=${STAGING_DIR_HOST}${prefix}"
SRC_URI += "file://main.cpp"
SRC_URI += "file://CMakeLists.txt"
SRC_URI += "file://CMakeLists.txt.user"
SRC_URI += "file://Backendsensors.h"
SRC_URI += "file://Backendsensors.cpp"
SRC_URI += "file://brushfactory.h"
SRC_URI += "file://brushfactory.cpp"
SRC_URI += "file://Main.qml"
# Add SVG images from the assets/images folder
SRC_URI += "file://assets/images/battery-full.svg"
SRC_URI += "file://assets/images/battery-mid.svg"
SRC_URI += "file://assets/images/rss-low.svg"
SRC_URI += "file://assets/images/signal-full.svg"
SRC_URI += "file://assets/images/signal-mid.svg"
SRC_URI += "file://assets/images/battery-low.svg"
SRC_URI += "file://assets/images/rss-full.svg"
SRC_URI += "file://assets/images/rss-mid.svg"
SRC_URI += "file://assets/images/signal-low.svg"
S = "${WORKDIR}/mygui"
do_install () {
install -d ${D}${bindir}
install -m 0775 mygui ${D}${bindir}/
}
FILES_${PN} += "${bindir}/mygui"
inherit cmake_qt5
在我的本地conf文件中我添加了:
IMAGE_INSTALL_APPEND += "mygui"
您还必须将配方添加到您正在构建的图像中。在其中一层中应该有一个 st-image-qt.bb 文件。应该在
<layername>/recipes-core/images
。在那里,你必须用IMAGE_INSTALL:append = " mygui "
添加它(注意“后面的空格”)。只有这样菜谱才会包含在图像中,仅添加图层是不够的。