飞凌RK3568开发板Qt应用开发实战从零构建到上板部署全流程在嵌入式Linux开发领域图形界面应用的需求日益增长。RK3568作为一款高性能处理器搭配Qt框架能够为工业控制、智能终端等场景提供丰富的交互体验。本文将手把手带你完成从工具链配置到第一个Qt程序在开发板成功运行的全过程。1. 开发环境准备与交叉编译器配置1.1 基础开发环境搭建工欲善其事必先利其器。在开始Qt开发前需要准备以下基础环境主机系统推荐使用Ubuntu 18.04/20.04 LTS磁盘空间至少预留100GB可用空间内存配置建议8GB以上全编译时16GB更佳安装必要的构建工具和依赖库sudo apt update sudo apt install -y build-essential git repo python3 libssl-dev \ libncurses5-dev bison flex gawk gcc-multilib g-multilib \ device-tree-compiler u-boot-tools lzop1.2 获取交叉编译工具链针对RK3568的ARM Cortex-A55架构我们需要aarch64架构的交叉编译器。有两种获取方式方法一独立工具链适合纯C/C开发wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz export PATH$PWD/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin:$PATH方法二全源码编译推荐Qt开发# 从飞凌官方获取源码包 cat OK3568-linux-source.tar.bz2.* OK3568-linux-source.tar.bz2 tar -xvf OK3568-linux-source.tar.bz2 cd OK3568-linux-source ./build.sh提示全编译过程耗时较长约5-8小时建议在性能较好的机器上执行2. Qt开发环境配置2.1 Qt工具链路径设置全编译完成后在output目录下会生成完整的工具链。设置Qt编译环境export PATH$PWD/buildroot/output/OK3568/host/bin:$PATH export QT_HOST_PATH/usr/local/Qt-5.12.9 # 根据实际安装路径调整2.2 验证qmake可用性检查Qt交叉编译工具是否正常工作qmake -v # 应输出类似QMake version 3.1 Using Qt version 5.12.9 in /path/to/sysroot2.3 开发板系统准备确保开发板系统已正确烧写并配置网络adb connect 192.168.x.x # 连接开发板 adb shell mkdir -p /usr/local/qt5/lib adb push libQt5Core.so.5 /usr/local/qt5/lib # 推送必要的Qt库3. 创建第一个Qt项目3.1 项目结构设计创建简单的窗口应用程序HelloQt/ ├── main.cpp ├── widget.cpp ├── widget.h └── HelloQt.promain.cpp示例#include QApplication #include widget.h int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec(); }3.2 交叉编译配置修改.pro文件添加交叉编译选项TARGET HelloQt QT widgets TEMPLATE app # 交叉编译配置 target.path /usr/local/qt5/bin INSTALLS target3.3 编译与部署执行交叉编译qmake make adb push HelloQt /usr/local/qt5/bin adb shell export LD_LIBRARY_PATH/usr/local/qt5/lib /usr/local/qt5/bin/HelloQt4. 高级开发技巧与调试4.1 常见问题解决问题现象可能原因解决方案运行时报找不到库库路径未设置设置LD_LIBRARY_PATH环境变量界面显示异常显示驱动不匹配检查FB或Wayland后端配置程序崩溃无输出缺少调试符号编译时添加-g选项4.2 性能优化建议使用QML时启用硬件加速import QtQuick 2.12 import QtQuick.Window 2.12 Window { visible: true flags: Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint renderType: Item.NativeRendering // 启用原生渲染 }减少不必要的动态库加载strip --strip-unneeded HelloQt # 去除调试符号4.3 远程调试配置在开发板上启动gdbserveradb shell gdbserver :1234 /usr/local/qt5/bin/HelloQt在主机端连接调试aarch64-linux-gnu-gdb HelloQt (gdb) target remote 192.168.x.x:12345. 实战案例摄像头应用开发5.1 添加多媒体支持修改.pro文件引入Qt多媒体模块QT multimedia multimediawidgets5.2 简易摄像头实现#include QCamera #include QCameraViewfinder Widget::Widget(QWidget *parent) : QWidget(parent) { QCamera *camera new QCamera; QCameraViewfinder *viewfinder new QCameraViewfinder(this); camera-setViewfinder(viewfinder); camera-start(); }5.3 部署与测试# 推送多媒体相关库 adb push libQt5Multimedia.so* /usr/local/qt5/lib/ adb push libQt5MultimediaWidgets.so* /usr/local/qt5/lib/ # 设置必要的环境变量 adb shell export QT_PLUGIN_PATH/usr/local/qt5/plugins \ export QML2_IMPORT_PATH/usr/local/qt5/qml \ /usr/local/qt5/bin/CameraApp在实际项目中我们发现RK3568的VPU硬件加速能显著提升视频处理性能。通过修改Qt的底层实现可以充分利用这块处理器的多媒体能力。
飞凌RK3568开发板Qt应用开发入门:从源码编译到‘Hello Qt’上板运行全记录
发布时间:2026/6/15 5:59:08
飞凌RK3568开发板Qt应用开发实战从零构建到上板部署全流程在嵌入式Linux开发领域图形界面应用的需求日益增长。RK3568作为一款高性能处理器搭配Qt框架能够为工业控制、智能终端等场景提供丰富的交互体验。本文将手把手带你完成从工具链配置到第一个Qt程序在开发板成功运行的全过程。1. 开发环境准备与交叉编译器配置1.1 基础开发环境搭建工欲善其事必先利其器。在开始Qt开发前需要准备以下基础环境主机系统推荐使用Ubuntu 18.04/20.04 LTS磁盘空间至少预留100GB可用空间内存配置建议8GB以上全编译时16GB更佳安装必要的构建工具和依赖库sudo apt update sudo apt install -y build-essential git repo python3 libssl-dev \ libncurses5-dev bison flex gawk gcc-multilib g-multilib \ device-tree-compiler u-boot-tools lzop1.2 获取交叉编译工具链针对RK3568的ARM Cortex-A55架构我们需要aarch64架构的交叉编译器。有两种获取方式方法一独立工具链适合纯C/C开发wget https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz export PATH$PWD/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin:$PATH方法二全源码编译推荐Qt开发# 从飞凌官方获取源码包 cat OK3568-linux-source.tar.bz2.* OK3568-linux-source.tar.bz2 tar -xvf OK3568-linux-source.tar.bz2 cd OK3568-linux-source ./build.sh提示全编译过程耗时较长约5-8小时建议在性能较好的机器上执行2. Qt开发环境配置2.1 Qt工具链路径设置全编译完成后在output目录下会生成完整的工具链。设置Qt编译环境export PATH$PWD/buildroot/output/OK3568/host/bin:$PATH export QT_HOST_PATH/usr/local/Qt-5.12.9 # 根据实际安装路径调整2.2 验证qmake可用性检查Qt交叉编译工具是否正常工作qmake -v # 应输出类似QMake version 3.1 Using Qt version 5.12.9 in /path/to/sysroot2.3 开发板系统准备确保开发板系统已正确烧写并配置网络adb connect 192.168.x.x # 连接开发板 adb shell mkdir -p /usr/local/qt5/lib adb push libQt5Core.so.5 /usr/local/qt5/lib # 推送必要的Qt库3. 创建第一个Qt项目3.1 项目结构设计创建简单的窗口应用程序HelloQt/ ├── main.cpp ├── widget.cpp ├── widget.h └── HelloQt.promain.cpp示例#include QApplication #include widget.h int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec(); }3.2 交叉编译配置修改.pro文件添加交叉编译选项TARGET HelloQt QT widgets TEMPLATE app # 交叉编译配置 target.path /usr/local/qt5/bin INSTALLS target3.3 编译与部署执行交叉编译qmake make adb push HelloQt /usr/local/qt5/bin adb shell export LD_LIBRARY_PATH/usr/local/qt5/lib /usr/local/qt5/bin/HelloQt4. 高级开发技巧与调试4.1 常见问题解决问题现象可能原因解决方案运行时报找不到库库路径未设置设置LD_LIBRARY_PATH环境变量界面显示异常显示驱动不匹配检查FB或Wayland后端配置程序崩溃无输出缺少调试符号编译时添加-g选项4.2 性能优化建议使用QML时启用硬件加速import QtQuick 2.12 import QtQuick.Window 2.12 Window { visible: true flags: Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint renderType: Item.NativeRendering // 启用原生渲染 }减少不必要的动态库加载strip --strip-unneeded HelloQt # 去除调试符号4.3 远程调试配置在开发板上启动gdbserveradb shell gdbserver :1234 /usr/local/qt5/bin/HelloQt在主机端连接调试aarch64-linux-gnu-gdb HelloQt (gdb) target remote 192.168.x.x:12345. 实战案例摄像头应用开发5.1 添加多媒体支持修改.pro文件引入Qt多媒体模块QT multimedia multimediawidgets5.2 简易摄像头实现#include QCamera #include QCameraViewfinder Widget::Widget(QWidget *parent) : QWidget(parent) { QCamera *camera new QCamera; QCameraViewfinder *viewfinder new QCameraViewfinder(this); camera-setViewfinder(viewfinder); camera-start(); }5.3 部署与测试# 推送多媒体相关库 adb push libQt5Multimedia.so* /usr/local/qt5/lib/ adb push libQt5MultimediaWidgets.so* /usr/local/qt5/lib/ # 设置必要的环境变量 adb shell export QT_PLUGIN_PATH/usr/local/qt5/plugins \ export QML2_IMPORT_PATH/usr/local/qt5/qml \ /usr/local/qt5/bin/CameraApp在实际项目中我们发现RK3568的VPU硬件加速能显著提升视频处理性能。通过修改Qt的底层实现可以充分利用这块处理器的多媒体能力。