如何解决Yocto:使用 meta-qt5
背景
我想在基于 IM6 的系统上使用 Yocto 构建的映像运行 Qt 应用程序。我的项目中已经有 meta-qt5
层。我从一个简单的 Qt5 应用程序开始,它只需要以下模块:
QT += core gui widgets
我所要做的就是确保我的 bitbake 配方具有 DEPENDS += qtbase
并且基于 qmake 类:inherit qmake5
。它在目标上构建并运行!没问题
问题
现在我想添加另一个 Qt5 应用程序,这次使用以下模块和一个插件:
QT += core gui widgets quick qml svg xml network charts
QTPLUGIN += qsvg
不幸的是,我无法简单地将这些添加到我的 DEPENDS
变量中并使其工作。但是在谷歌上搜索如何添加支持揭示了似乎是各种各样的解决方案。我将列举我在这里找到的内容:
- 我需要添加
inherit populate_sdk_qt5
以指示 bitbake 针对包含模块库的 SDK 构建配方(请参阅 here) - 我需要在食谱中添加
IMAGE_FEATURES += dev-pkgs
(参见here) - 我需要为系统修改
local.conf
,并添加如下几行:PACKAGECONFIG_append_pn_qttools = "..."
和alsoPACKAGECONFIG_append_pn-qtbase = "..."
- 我需要在我的层中修改
layer.conf
并添加诸如IMAGE_INSTALL_append = "qtbase qtquick ..."
(幻灯片 53 here)之类的内容 - 我需要为图表手动修补 Qt5 工具链吗? (见here)
- 我需要使用
bitbake <target> -c populate_sdk
编译我的图像吗? (见here again)
此时,我真的不确定到底发生了什么。看来我们正在修改配方、层配置文件、分发配置文件,甚至是元 Qt 层文件。我知道我基本上需要做一些事情:
- 针对 Qt5 SDK 编译应用程序
- 为目标架构编译所需的插件 + 模块
- 确保将适当的二进制文件(图像)复制到目标。
但是关于什么是什么已经变得有点不清楚了。我知道 IMAGE_INSTALL_append
向目标添加图像,但我不知道添加模块的正确方法是什么。我不想随机添加行,所以我希望有人能弄清楚我到底需要注意什么,以便为应用程序添加对 Qt5 模块的支持。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。