news 2026/6/12 12:57:30

在Rockchip RV1126上跑起第一个QT界面:我的踩坑实录与完整配置清单

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Rockchip RV1126上跑起第一个QT界面:我的踩坑实录与完整配置清单

从零点亮RV1126的QT界面:一个嵌入式小白的血泪成长史

拿到Rockchip RV1126开发板的第一天,我盯着这个巴掌大的黑色盒子,既兴奋又忐忑。作为刚接触嵌入式开发的菜鸟,我接到的第一个任务就是在这块板子上跑通QT界面。原本以为不过是照着手册操作的事情,没想到接下来的两周里,我几乎把能踩的坑全踩了一遍。这篇文章不是标准教程,而是一个真实新手的踩坑全记录——那些官方文档不会告诉你的细节,那些搜索引擎找不到答案的瞬间,还有最终点亮屏幕时的成就感。

1. 开发环境搭建:从入门到放弃的三重境界

1.1 开发环境的选择困境

面对RV1126开发板,第一个选择题就让我纠结不已:该用哪种开发环境?主流的方案有三种:

  • Windows+WSL:微软官方推荐的混合方案
  • 纯Linux系统:嵌入式开发的传统选择
  • 虚拟机方案:隔离性好但性能损耗大

我最终选择了Windows+WSL的组合,这是个让我又爱又恨的决定。安装过程看似简单,却暗藏杀机:

# 启用WSL功能(管理员权限运行) dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

安装完成后,我天真地以为最难的部分已经过去,直到遇到第一个真正的挑战——SDK编译。

1.2 SDK编译:等待的艺术与版本陷阱

RV1126的SDK编译是个考验耐心的过程。我的第一次编译尝试持续了整整16小时,最终却以失败告终。错误日志显示缺少某个依赖库,但具体是哪个?没人告诉我。后来才发现问题出在SDK版本上——我使用的竟然是半年前的老版本。

关键教训

  1. 一定要从官方获取最新SDK
  2. 编译前确认所有依赖项已安装
  3. 预留足够的磁盘空间(至少100GB)

正确的编译命令应该是:

# 在SDK根目录下执行 ./build.sh device/rockchip/rv1126_rv1109/BoardConfig.mk

2. QT开发环境配置:寻找消失的qmake

2.1 Windows下的QT安装迷局

在Windows上安装QT Creator本应是最简单的步骤,但版本选择却让我栽了跟头。RV1126需要的是QT 5.12 LTS版本,而我最初安装的是最新的QT 6.2。这个错误导致后续交叉编译时出现各种兼容性问题。

安装完成后,配置Kit时又遇到新问题:工具链选择。RV1126需要arm-linux-gnueabihf工具链,但QT Creator默认并不包含。需要手动添加:

配置项正确值示例
编译器路径/opt/gcc-linaro-6.5.0/bin/arm-linux-gnueabihf-g++
qmake路径/home/user/qt5.12/bin/qmake
调试器gdb-multiarch

2.2 WSL中的环境变量噩梦

当我把开发环境切换到WSL时,最头疼的问题出现了——qmake神秘消失。明明已经安装,系统却提示命令未找到。经过两天的排查,发现是环境变量PATH设置有问题。

解决方案分三步:

  1. 确认qmake实际安装位置
    find / -name qmake 2>/dev/null
  2. 将路径添加到.bashrc
    echo 'export PATH=$PATH:/path/to/qmake' >> ~/.bashrc
  3. 重新加载配置
    source ~/.bashrc

3. 交叉编译:当OpenSSL遇上SQLite

3.1 依赖库的连环劫

交叉编译QT需要先编译OpenSSL和SQLite,这个过程堪称依赖地狱。我遇到的典型问题包括:

  • OpenSSL编译失败:因为缺少zlib库
  • SQLite链接错误:工具链版本不匹配
  • QT配置报错:头文件路径不正确

正确的编译顺序应该是:

  1. 编译OpenSSL
    ./Configure linux-armv4 --prefix=/opt/openssl make && make install
  2. 编译SQLite
    ./configure --host=arm-linux-gnueabihf --prefix=/opt/sqlite make && make install
  3. 配置QT
    ./configure -prefix /opt/qt5.12 -opensource -confirm-license \ -xplatform linux-arm-gnueabi-g++ -openssl-linked -I /opt/openssl/include \ -L /opt/openssl/lib -sqlite -qt-sql-sqlite

3.2 qmake.conf的隐藏选项

QT交叉编译的核心在于正确配置qmake.conf文件。以下是我的最终配置片段:

# 工具链设置 QMAKE_CC = arm-linux-gnueabihf-gcc QMAKE_CXX = arm-linux-gnueabihf-g++ QMAKE_LINK = arm-linux-gnueabihf-g++ # 库路径设置 QMAKE_INCDIR += /opt/openssl/include /opt/sqlite/include QMAKE_LIBDIR += /opt/openssl/lib /opt/sqlite/lib # 平台插件设置 QT_QPA_DEFAULT_PLATFORM = linuxfb

4. 开发板部署:最后的障碍赛

4.1 文件传输的N种死法

当终于生成可执行文件后,如何把它弄到开发板上又成了新难题。我尝试了所有可能的方法:

传输方式对比:

方法优点缺点
scp直接可靠需要网络配置正确
adb调试方便需要开启ADB调试
U盘物理连接简单开发板可能不识别格式
tftp适合大文件配置复杂

最终我选择了scp方式:

scp MyApp root@192.168.1.100:/usr/local/bin

4.2 环境变量与权限的终极考验

在开发板上运行QT程序前,必须设置正确的环境变量:

export QT_QPA_FB_DRM=1 export QT_QPA_PLATFORM=linuxfb:rotation=0 export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

然后还要给程序执行权限:

chmod +x /usr/local/bin/MyApp

当我终于看到QT界面在开发板的屏幕上亮起时,那种成就感无法形容。整个过程教会我的不仅是技术,更是一种解决问题的方法论——耐心阅读错误信息、系统性地排查问题、保持实验记录的好习惯。现在回头看,那些让我抓狂的报错信息,其实都包含着解决问题的钥匙。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 17:16:02

Keyviz:实时键鼠可视化工具,提升教学演示与操作透明度

Keyviz:实时键鼠可视化工具,提升教学演示与操作透明度 【免费下载链接】keyviz Keyviz is a free and open-source tool to visualize your keystrokes ⌨️ and 🖱️ mouse actions in real-time. 项目地址: https://gitcode.com/gh_mirro…

作者头像 李华
网站建设 2026/6/9 17:12:53

React/Vue项目里遇到globalThis报错别慌,手把手教你用polyfill搞定兼容性

React/Vue项目中globalThis报错的深度解决方案与工程化实践最近在重构一个老项目时,突然在控制台看到了globalThis is not defined这个报错。作为一个有五年经验的前端开发者,我第一反应是检查浏览器兼容性,但很快意识到问题没那么简单——特…

作者头像 李华
网站建设 2026/6/9 17:10:10

找mg动画素材犯愁!12个高质量实用站点整理

版权合规性是商用mg动画素材的第一考量,下载前必须确认授权范围不同创作需求对应不同类型素材站,免费商用和付费高端素材各有适配场景本文整理12个经过验证的素材站点,覆盖不同预算和不同使用需求根据《2026年中国短视频与创意内容创作行业白…

作者头像 李华
网站建设 2026/6/9 17:09:04

计算机毕业设计之django基于Python美妆推荐系统的设计与实现

随着互联网技术不断地发展,网络与大数据成为了人们生活的一部分,而美妆推荐系统作为网上应用的一个全新的体现,由于其特有的便捷性,已经被人们所接受。目前主流的美妆推荐系统服务不仅不明确并且管理盈利较低,针对用户…

作者头像 李华
网站建设 2026/6/9 17:04:01

别让OBYC配置头疼了!手把手教你用OMWD合并工厂的物料记账规则

告别OBYC重复配置:OMWD评估分组代码实战指南每次新增工厂都要重新配置一套OBYC规则?不同工厂相同物料的会计科目总是无法统一?作为SAP财务顾问或关键用户,你一定遇到过这些令人头疼的场景。本文将带你深入理解评估分组代码&#x…

作者头像 李华