不含qt支持的镜像:fsl-image-validation-imx 

含qt的镜像: fsl-image-qt5-validation-imx

x11上支持qt

我们bsp的配置默认是基于x11的, 直接编译qt的镜像就可以支持qt:

bitbake fsl-image-qt5-validation-imx

运行qt程序时指定platform为xcb

[qt5app] -platform xcb

fb上支持qt

修改build/conf/local.conf文件中的DISTRO为fsl-imx-fb, 就会编译不带x11的镜像

build/conf/local.conf
DISTRO ?= 'fsl-imx-fb'

在fsl-image-qt5-validation-imx镜像的recipe中, 定义了qt是在x11的发布版本上支持的

因此, 在fsl-imx-fb版本上, 可以在build/conf/local.conf文件中增加qt软件的支持

build/conf/local.conf
IMAGE_INSTALL_append = " qtbase qtbase-examples qtbase-plugins packagegroup-qt5-toolchain-target packagegroup-qt5-demos"
IMAGE_INSTALL_append  = " ttf-dejavu-common ttf-dejavu-sans ttf-dejavu-sans-mono ttf-dejavu-serif "
PACKAGECONFIG_append_pn-qtbase = "linuxfb"

配置完成后, 编译镜像选择fsl-image-qt5-validation-imx.

运行qt程序时指定platform为linuxfb

[qt5app] -platform linuxfb

sdk支持qt

直接编译qt镜像的sdk, 生成的sdk发现并没有包含qt的交叉编译工具

bitbake fsl-image-qt5-validation-imx -c populate_sdk

通过修改fsl-image-qt5-validation-imx.bb文件如下, 可解决这个问题

diff --git a/imx/meta-sdk/recipes-fsl/images/fsl-image-qt5-validation-imx.bb b/imx/meta-sdk/recipes-fsl/images/fsl-image-qt5-validation-imx.bb
index c7a56e1..8d23fd3 100644
--- a/imx/meta-sdk/recipes-fsl/images/fsl-image-qt5-validation-imx.bb
+++ b/imx/meta-sdk/recipes-fsl/images/fsl-image-qt5-validation-imx.bb
@@ -3,7 +3,7 @@ LICENSE = "MIT"
 
 require recipes-fsl/images/fsl-image-validation-imx.bb
 
-inherit distro_features_check
+inherit distro_features_check populate_sdk_qt5
 
 CONFLICT_DISTRO_FEATURES = "directfb"
  • No labels