【Linux】Qt Remote之Remote开发环境搭建填坑小记

总体思路

基于WSL2(Ubuntu 22.04 LTS)+原子Alpha开发板进行Qt开发实验,基于Win11通过vscode remote到WSL2,再基于WSL2通过Qt 交叉编译,并通过ssh+rsync远程到开发板,构建起开发工具链。

Step1 基于Win11通过Vscode Remote 得到WSL2虚拟机

参考此博客,已经非常详细了:WSL2 Ubuntu安装Qt(包括QtCreator) 但是遇到了WSL2启动qt得到的Xming窗口无法放大的问题,有待解决。作为此博客的补充:

  1. WSL2才能在win11环境cmd中查询到Xming所需的server IP,WSL不行
  2. 卸载WSL再安装WSL2时有些报错需要解决:
    • WslRegisterDistribution failed with error: 0x800701bc,需要使用该工具 内核更新工具更新内核
    • WslRegisterDistribution failed with error 0x80370102,需要开启内核虚拟化选项 参考此连接

Step2 基于WSL2,通过ssh+rsync远程到开发板

开发板使用出厂环境:
QMake version 3.1
Using Qt version 5.12.9 in /usr/lib
root@ATK-IMX6U:~# cat /etc/version
2.4

参考文档【正点原子】I.MX6U 出厂系统 Qt 交叉编译环境搭建 V1.6中的2.3~2.5章节配置Kits。此外,如本文Step1所述,本文所使用的WSL2虚拟机和所采用的QtCreator工具均为最新版本,开发板亦有过其他配置,与文档不一致,因此额外过遇到如下问题:

  1. usb wifi不稳定:
    • 解决方式:删除原有的usb wifi配置脚本,删除bashrc中的初始化过程,通过ifconfig usb0 downfconfig eth0 up 命令将usb wifi 切换为网线连接
  2. qtcreator无法连接开发板,报Unable to negotiate with **** port 22: no matching host key type found. Their offer: ssh-rsa
    • 定位发现,WSL2的shell也无法通过命令ssh root@10.173.168.3登录开发板,报相同的错,由此可知是开发板的ssh版本过低,加密技术已被WSL2侧禁用。因此,采用此处传送门 的方式,强制WSL2侧支持ssh-rsa加密方式,重启WSL2 shell和qtcreator,得以解决。
  3. 开发板空间不足,导致qtcreator远程run报目标设备可用空间不足
    • 通过开发板卡槽mount sd卡到文件系统解决存储问题。修改/etc/fstab文件如下(不知道codepage怎么写可以先手动挂载mount /dev/mmcblk0p1 /home/root/sd后,通过mount命令查看;此外,fmaskdmask字段决定文件夹权限):
      /dev/mmcblk0p1 /home/root/sd vfat rw,nosuid,fmask=0000,dmask=0000,codepage=437 0 0
    • 通过.pro文件指定目标可执行文件路径target.path += /home/rootINSTALLS += target
    • 在project修改磁盘空间检查目录到挂载路径
相关推荐
Yupureki8 小时前
《Linux网络编程》8.网络层IP原理
linux·运维·服务器·网络·ip
Je1lyfish9 小时前
CMU15-445 (2025 Fall/2026 Spring) Project#3 - QueryExecution
linux·c语言·开发语言·数据结构·数据库·c++·算法
小短腿的代码世界10 小时前
QtAV音视频播放实战深度解析:从零构建高性能跨平台播放器
qt·音视频
xyy_49612 小时前
wsl-localhost
linux
CSCN新手听安12 小时前
【Qt】Qt窗口(八)QFontDialog字体对话框,QInputDialog输入对话框的使用,小结
开发语言·c++·qt
linux修理工12 小时前
linux禁用root登录
linux
小王C语言13 小时前
xshell免密登录
linux·运维·服务器
请输入蚊子14 小时前
《操作系统真象还原》 第十一章 用户进程
linux·操作系统·操作系统真像还原
Qt程序员14 小时前
网络 I/O 面试必考点:从多进程多线程到异步 I/O 与多路复用
linux·网络编程·多线程·epoll·网络io·阻塞io·io_uring
model200515 小时前
虚拟环境安装yolo26
linux·运维·服务器