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

参考文档

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

开发环境介绍

  • 主机操作系统:Ubuntu16.04 64位
  • 目标平台:盒子V1(IMX.6)
  • 交叉工具链:arm-poky-linux-gnueabi,gcc4.8.2
  • Qt版本: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

猜你喜欢

转载自blog.csdn.net/sanallen/article/details/80955002