将Qcharts模块安装到Yocto SDK

install qcharts module to yocto sdk

本文关键字:Yocto SDK 安装 Qcharts 模块      更新时间:2023-10-16

我尝试交叉编译yocto平台的qt图表示例。我执行以下步骤来编译我的qt程序:

  • source/opt/myimage/2.1.2/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
  • qmake -o Makefile areachart.pro

但是当我像qmake -o Makefile areachart.pro这样的将QT += charts添加到任何项目运行时,我遇到了此错误:
Project ERROR: Unknown module(s) in QT: charts 这是qmake -v的输出:

QMake version 3.0
Using Qt version 5.7.0 in /opt/myimage/2.1.2/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib

我应该qtcharts模块中添加我的yocto SDK以便能够编译示例吗? 如果是,如何?

出于某些原因,我能够使用qtcreator从源代码交叉编译 Qt,并获取 qt 示例和 qtchart 库本身的二进制文件。我还在我的目标平台上运行 qt 示例,方法是手动将生成的libQtCharts.so和其他文件放入目标/usr/lib//usr/include/中,并且能够在目标上绘制图表。

但是,我需要的是将图表包含在我的项目中并运行上述qmake步骤。但我得到的是Project ERROR: Unknown module(s) in QT: charts我试图将我从手动编译 qt 源代码中获得libQtCharts.so放入/opt/myimage/2.1.2/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib但仍然无法获取带有qmake -o Makefile areachart.pro的 make 文件

正如您所指出的,您需要在SDK中qtcharts软件包(准确地说,还需要qtcharts-dev)。您还需要在目标上(即在映像中)qtcharts包,否则当您在目标上执行二进制文件时,运行时库将丢失。

包的添加取决于构建 SDK 的方法。首选任务是populate_sdk任务,因此我将在此处对其进行描述(它还会将包添加到您的目标中)。

构建 SDK 的命令是bitbake your_image -c populate_sdk。将以下行添加到your_image.bb配方中,以将qtcharts包添加到映像(第 1 行)和 SDK 的其他 Qt5 内容(第 2 行)。

IMAGE_INSTALL += "qtcharts"
inherit populate_sdk_qt5

如果您不想直接编辑图像配方,也可以将这些行放入your_image.bbappend

inherit populate_sdk_qt5对于 Qt5 包是特定的(也是必需的),因为 SDK 需要其他东西(例如qt.conf,一些工具)。