嵌入式开发之Qt-5.9.6应用程序部署

xiaoxiao2021-02-28  80

参考文档

嵌入式开发之Qt-5.9.6交叉编译(带WebEngine)

开发环境介绍

主机操作系统:Ubuntu16.04 64位目标平台:盒子V1(IMX.6)交叉工具链:arm-poky-linux-gnueabi,gcc4.8.2Qt版本:5.9.6编译时间:2018.7.7

提示:较新版本的Qt使用了C++11语法,所以必须使用gcc4.8.0及以上版本

目标环境部署

部署Qt主体文件

将参考文档1编译生成的Qt-5.9.6目录下的子目录拷贝到ARM目标文件系统。

将lib下的所有库.so文件,拷贝到ARM目标文件系统/usr/lib目录下将plugins、libexec目录拷贝到ARM目标文件系统/usr/lib/qt5/文件夹目录下将translations、resources目录,拷贝到ARM目标文件系统/usr/local/Qt-5.9.6/文件夹目录下

部署Qt额外动态库:

因为编译webengine需要使用GPU版本的egl驱动,并且使用固定版本的XML,所以需要替换部分目标文件系统上的动态库。

下载额外动态库,将解压出来的Qt5.9.6-BoxV1-fixWebEngine-extras-lib目录下的子目录拷贝到ARM目标文件系统的对应目录下。

目标环境运行

环境变量配置

因为QT Webengine需要将QT QPA(平台抽象层)设置成eglfs才能正常工作,并且为了帮助QT应用程序找到相关qt平台插件需要在qt应用程序运行前设置好下面这些环境变量,或者将下面的环境变量设置放在/etc/profile中执行

export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1 export QT_PLUGIN_PATH=/usr/lib/qt5/plugins export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/qt5/plugins/platforms export QTWEBENGINEPROCESS_PATH=/usr/lib/qt5/libexec/QtWebEngineProcess export QT_QPA_PLATFORM=eglfs export QT_QPA_GENERIC_PLUGINS=evdevkeyboard export QT_QPA_EVDEV_MOUSE_PARAMETERS=grab=1 export QT_QPA_EVDEV_KEYBOARD_PARAMETERS=grab=1

提示:当需要使用Webengine时必须设置平台抽象层(QT_QPA_PLATFORM)为eglfs

如果不需要使用Webengine并且eglfs的GPU驱动并未准备好时可以使用linuxfb或者xcb

转载请注明原文地址: https://www.6miu.com/read-2632883.html

最新回复(0)