基于Yocto的QT C++程序无法在QEMU中自动启动问题
QT控制台程序在QEMU启动时无法自动运行问题
我开发了一个QT控制台C++程序,将其移入自定义meta层并编写了.bb配方文件,期望该程序在QEMU启动时自动运行,但未生效。我已在do_install步骤中添加了将程序安装到${sysconfdir}/init.d的操作,通过INITSCRIPT_NAME和INITSCRIPT_PARAMS指定了运行级别,且确认程序已安装到/etc/init.d目录,但程序仍未自动启动。
完整配方代码
DESCRIPTION = "Simple hello world application" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" DEPENDS += " qtbase" FILES_${PN} += " ${bindir}/QTServer " inherit qmake5 SRC_URI = "file://main.cpp \ file://myserver.cpp \ file://myserver.h \ file://QTServer.pro \ " S = "${WORKDIR}" do_install(){ install -d ${D}${bindir} install -m 0775 QTServer ${D}${bindir} install -d ${D}${sysconfdir}/init.d install -m 0775 QTServer ${D}${sysconfdir}/init.d/QTServer } INITSCRIPT_NAME = "QTServer" INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
我添加的配置内容
仅在do_install中新增了以下操作:
install -d ${D}${sysconfdir}/init.d install -m 0775 QTServer ${D}${sysconfdir}/init.d/QTServer
同时设置了运行级别参数:
INITSCRIPT_NAME = "QTServer" INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
内容的提问来源于stack exchange,提问作者Marco Naoum
相关产品推荐
相关产品推荐

