Qt 5.15 arm64 ubuntu20.04 交叉编译环境-firefly
# Qt 5.15 arm64 ubuntu20.04 交叉编译环境
Firefly Qt5.15 , 运行环境
* Host(x86 PC) : ubuntu 20.04 x86_64
* Target(RK356X): ubuntu 20.04 arm64
## 主机环境部署
```shell
$ apt install -y crossbuild-essential-arm64
$ mkdir -p /opt
$ cp -rfd firefly_qt5.15_arm64_20.04 /opt/
$ cp -rfd sysroot /opt/
$ cp host/host_qtEnv.sh /etc/profile.d/
reboot
```
## 目标环境部署
```shell
$ mkdir -p /opt
$ cp -rfd firefly_qt5.15_arm64_20.04/ext /opt/firefly_qt5.15
$ cp target/target_qtEnv.sh /etc/profile.d/
**注意**
# 为了避免和 Ubuntu 中可能存在的其他 qt 环境冲突,特别是 RK356X Ubuntu,在开发 qt 应用时,一定要在 pro 文件添加:
QMAKE_RPATHDIR += /opt/firefly_qt5.15/lib
# 或者执行程序前指定 LD_LIBRARY_PATH
$ LD_LIBRARY_PATH=/opt/firefly_qt5.15/lib ./program
# 不要使用 ld.so.conf 来设置,会与系统自身的 qt 环境冲突
# 安装 libgles2
$ [ -e /usr/lib/aarch64-linux-gnu/libGLESv2.so.2.0.0 ] || apt install -y libgles2
# 安装基本库
$ apt install -y \
libmtdev1 \
libinput10 \
libxkbcommon0 \
libdouble-conversion3 \
libicu66 \
libharfbuzz0b \
libwebpdemux2 \
libwebpmux3
# 重启
$ reboot
# Qt QPA Backends
# 根据选择的不同 Backend,需要做以下准备工作
# linuxfb
$ export QT_QPA_PLATFORM=LINUXFB
$ export QT_QPA_FB_DRM=1
$ demo/analogclock
# eglfs
$ export QT_QPA_PLATFORM=EGLFS
$ export QT_QPA_EGLFS_INTEGRATION=EGLFS_KMS #in minimal ubuntu, use eglfs_kms.
$ export QT_QPA_EGLFS_KMS_ATOMIC=1 #use drm atomic api or legacy api(two different)
$ export QT_QPA_EGLFS_HIDECURSOR=1 #hide cursor
$ demo/openglwindow
# xcb (Ubuntu Desktop)
$ apt install -y \
libxcb-icccm4 \
libxcb-image0 \
libxcb-shm0 \
libxcb-keysyms1 \
libxcb-render0 \
libxcb-render-util0 \
libxcb-shape0 \
libxcb-sync1 \
libxcb-xfixes0 \
libxcb-xinerama0 \
libxcb-xkb1 \
libxcb-randr0 \
libsm6 \
libice6 \
libxkbcommon-x11-0
$ export QT_QPA_PLATFORM=xcb
$ export QT_QPA_EGLFS_INTEGRATION=XCB_EGL
# 确定最终使用的 Backend 后可以在 /etc/profile.d/target_qtEnv.sh 中取消注释对应的段落
# 之后就无需再手动 export 环境变量了
```
## 主机中交叉编译
```shell
$ cd example/
$ qmake
$ make
```
7.2. Qt 交叉编译环境支持
Firefly 发布了两个 Qt 交叉编译工具链,适用于以下环境,请根据需求选择:
-
Qt: 5.12.2
-
Host: x86-64 / Ubuntu 18.04
-
Target: Firefly RK3568 RK3566 RK3399 RK3328 PX30 / Ubuntu 18.04 Minimal&Desktop
和
-
Qt: 5.15
-
Host: x86-64 / Ubuntu 20.04
-
Target: Firefly RK3588 RK3568 RK3566 / Ubuntu 20.04 Desktop
工具链完整支持 wenEngine, 支持 EGLFS LinuxFB XCB 等 backend。
-
下载地址
点击下载链接(提取码:FFQT)

浙公网安备 33010602011771号