RV1109/RV1126 QT项目交叉编译实战:从环境搭建到开发板部署

1. 为什么你需要这篇RV1109/RV1126 QT交叉编译指南?

如果你正在玩Rockchip RV1109或RV1126这块板子,想在上面跑一个自己写的QT图形界面程序,那你大概率已经搜过一圈教程了。网上的资料要么太老,要么语焉不详,或者就是直接丢给你一堆命令,中间哪个环节出错了,你根本不知道从哪查起。我当初接手一个RV1126上的可视化项目时,也是这么过来的,在环境搭建和编译上踩的坑,比写业务逻辑代码花的时间还多。

所以,这篇内容不是官方文档的复读机,而是我实打实从Windows环境折腾到Linux,从Buildroot集成摸索到独立交叉编译工具链,最后成功把QT应用跑在开发板上的完整复盘。我会把两种主流方法——Buildroot集成编译独立交叉编译工具链编译——的优缺点、适用场景、详细步骤以及我踩过的每一个坑,都掰开揉碎了讲给你听。

简单来说,Buildroot集成法适合“部署”。如果你的应用逻辑相对稳定,主要目标是快速把QT程序打包进整个系统镜像里烧录,那这个方法流程简单,一键生成。而独立交叉编译工具链法适合“开发”。你需要频繁修改QT代码、调试,或者项目依赖复杂的第三方库(比如OpenSSL、SQLite),这个方法虽然前期配置繁琐,但一旦配好,后续的开发编译就像在PC上一样顺畅。

无论你是嵌入式新手,还是有一定经验但被交叉编译搞得头大的开发者,跟着这篇指南,你都能找到一条清晰的路径,把“在开发板上运行QT程序”这个目标,从“可能”变成“可以”。

2. 战前准备:理清思路与备好弹药

在动手之前,我们得先统一认识,避免走到岔路上去。RV1109/RV1126是Arm Cortex-A7/A5架构的芯片,而我们常用的开发电脑(x86_64)和它指令集不同。这就意味着,我们不能直接在电脑上编译出能在板子上运行的程序,必须通过一个“翻译官”——也就是交叉编译工具链

核心思路就两条路:

  1. 路线A(Buildroot集成):利用官方或社区提供的SDK,这个SDK里已经包含了针对你板子配置好的Buildroot构建系统。你只需要把自己的QT项目“注册”到这个构建系统里,它就会在编译整个根文件系统时,顺带用正确的工具链把你的QT程序编译好,并打包进去。
  2. 路线B(独立工具链):我们不依赖完整的SDK构建系统,而是单独准备好针对目标板子的交叉编译器(gcc)、QT库以及项目可能需要的第三方库(如OpenSSL)。然后,在开发电脑上,用这套独立的工具链来编译你的QT项目。

你需要准备好的“弹药”如下:

  • 硬件:RV1109或RV1126开发板、电源、串口调试工具、网线。
  • 软件基础
    • Windows平台:用于QT应用开发的QT Creator。这是最友好的GUI开发环境。
    • Linux环境:这是编译的大本营。强烈推荐使用WSL2(Windows Subsystem for Linux),我全程就是在WSL2(Ubuntu 20.04)下完成的。它完美兼顾了Windows下开发的便利和Linux下编译的纯粹,文件互通也极其方便。当然,纯物理机或虚拟机Linux也可以。
  • 关键文件
    • 正确的SDK:这是路线A的基石,也是路线B的重要参考。务必从你的开发板供应商(如Firefly)官网获取完全对应你板型的SDK。不同板子(即使同是RV1126)的配置文件可能有细微差别,用错了会导致各种灵异问题。
    • 交叉编译工具链:路线B的核心。可以从SDK的 prebuilts/gcc/linux-x86/arm/ 目录下找(通常是 gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf 这类),或者从Linaro官网下载。注意架构,RV11xx系列是armhf(硬浮点),别下成了aarch64的。
    • QT源码:路线B需要。去QT官网存档下载QT 5.9.x或5.12.x等长期支持版本。我用的5.9.4,比较稳定。
    • 第三方库源码:如OpenSSL、SQLite。如果你的QT程序需要网络加密或数据库功能,就需要它们。

把上述东西都找到并放好,我们接下来就分两条线,详细开干。

3. 方法一:使用Buildroot集成编译(适合快速部署)

这个方法的核心思想是“借力打力”。SDK里的Buildroot已经定义好了整个Linux系统的编译框架,包括内核、驱动、根文件系统、各种软件包。我们要做的,就是把自己的QT项目,变成Buildroot认知里的一个“软件包”。

3.1 创建你的项目“配方”

首先,进入SDK目录。假设你的SDK解压后路径是 /home/yourname/rv1126_sdk

  1. 在Buildroot包目录创建项目定义: 进入 buildroot/package/rockchip/ 目录。这里存放着所有额外的软件包定义。我们新建一个文件夹,名字就用你的QT项目名,比如 MyQtApp

    cd /home/yourname/rv1126_sdk/build
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值