7. 远程连接编译部署Qt程序¶
本章将介绍下,在宿主PC上使用Qt Creator,通过ssh连接LubanCat板卡进行远程连接部署、运行、调试等操作。
提示
下面是在宿主PC ubuntu20.04上搭建环境,并进行测试。
7.1. Qt Creator配置¶
前面我们在PC(ubuntu20.04)主机上配置过交叉编译环境,我们接着在上面配置远程连接环境。
打开 Qt Creator,点击 工具 > 选项
进入交叉编译的构建套,点击 设备
:
在弹出窗口,点击 添加
:
选择种类,点击开始配置向导:
设置名称,输入板子的IP,和登录的用户名,点击 下一步
:
进入密钥部署,一般默认即可,最后点击 完成
点击完成后,会自动进入连接测试,输入密码即可。LubanCat板卡默认账号是cat,密码是temppwd。
最后测试连接成功:
提示
如果提示SFTP或者rsync错误(command not found),可能是板卡没有安装,板卡使用命令:sudo apt install rsync。
创建device成功后,需要在你的交叉编译套件中添加,如果就一个设备默认就添加:
7.2. 配置ssh连接¶
上面配置完成后,就可以正常部署运行,每次ssh连接都需要输入密码,接下来讲下使用密钥登录,
打开Qt Creator,依次点击 工具 > 选项 > 设备
,就可以看到前面配置的ssh登录设备:
1、如果没有密钥对,先点击生成密钥:
2、保存的密钥对默认在用户目录~/.ssh下,然后点击部署密钥,选择前面生成的公钥,输入LubanCat的用户密码即可完成部署。 或者自己复制公钥到板卡上,然后命令:
cat qtc_id.pub >> ~/.ssh/authorized_keys
# 如果没有authorized_keys,使用命令创建一个:
touch authorized_keys
3、部署密钥之后,验证类型点击使用 Specific key
,之后就可以使用密钥直接远程连接。
7.3. 连板运行¶
先随便打开一个Qt例程,这里是打开了一个gui/openglwindow例程,单击 项目
,然后选择前面配置的LubanCat交叉编译套件,然后单击 Run
:
先修改 Remote Directory
目录,需要打开pro文件,修改部署路径:
运行测试使用eglfs,在命令行添加 -platform eglfs
,也可以在后面的 Run Environment
中添加环境变量和默认系统的环境变量,比如:
最后点击运行:
会编译程序,然后远程连接,部署运行,同时也会传输文件到板卡目录下。 eglfs默认占用全屏输出,也可以使用xcb、LinuxFB等其他插件显示。
7.4. 连板调试¶
接着使用上面的例程进行调试, 先在PC主机端,先使用命令安装gdb工具:
sudo apt install -y gdb-multiarch
LubanCat板端一般默认已经安装gdb工具,如果没有可以使用命令安装下:
apt install -y gdbserver
然后打开Qt Creator,依次点击 工具 > 选项 > kits > debuggers
,单击 Add
:
添加路径/usr/bin/gdb-multiarch,,保存应用,,然后到交叉编译套件处添加gdb工具:
使用刚才的例程gui/openglwindow,,在main.cpp中,点击一行的前端,添加断点, 然后单击调试,显示如下: