一. Qt Creator配置
前面我们在PC(ubuntu20.04)主机上配置过交叉编译环境,我们接着在上面配置远程连接环境。 打开 Qt Creator,点击 工具 > 选项
进入交叉编译的构建套,点击 设备
:
在弹出窗口,点击 添加
:
选择种类,点击开始配置向导:
设置名称,输入板子的IP,和登录的用户名,点击 下一步
:
进入密钥部署,一般默认即可,最后点击 完成
点击完成后,会自动进入连接测试,输入密码即可。LubanCat板卡默认账号是cat,密码是temppwd。
最后测试连接成功:
提示
如果提示SFTP或者rsync错误(command not found),可能是板卡没有安装,板卡使用命令:sudo apt install rsync。
创建device成功后,需要在你的交叉编译套件中添加,如果就一个设备默认就添加:
二. 配置ssh连接
上面配置完成后,就可以正常部署运行,每次ssh连接都需要输入密码,接下来讲下使用密钥登录, 打开Qt Creator,依次点击 工具 > 选项 > 设备
,就可以看到前面配置的ssh登录设备:
1、如果没有密钥对,先点击生成密钥:
2、保存的密钥对默认在用户目录~/.ssh下,然后点击部署密钥,选择前面生成的公钥,输入LubanCat的用户密码即可完成部署。 或者自己复制公钥到板卡上,然后命令:
cat qtc_id.pub >> ~/.ssh/authorized_keys # 如果没有authorized_keys,使用命令创建一个: touch authorized_keys
3、部署密钥之后,验证类型点击使用 Specific key
,之后就可以使用密钥直接远程连接
4、配置树莓派ssh远程转发权限: ssh-X 主机名@主机地址或者ssh -Y 主机名@主机地址
三 在树莓派上配置
1.配置环境变量
sudo vim /etc/profile
#最后追加
export QT_QPA_PLATFORM=xcb #这里必须要改,不然玩不了
export XDG_RUNTIME_DIR=/run/user/1000
2.树莓派桌面启用X11
2.1sudo raspi-config进入系统设置界面
2.2选择6 Advance Options
2.3选择A6 Wayland
2.4选择W1 X11
3.编译后运行,qt可能会报错,表示没有权限操作 /opt 目录
去树莓派的终端上chmod 777 即可
禁止树莓派息屏
sudo vim /etc/lightdm/lightdm.conf
# 打开这段的注释并添加-s 0 -dpms
xserver-command=X -s 0 -dpms
sudo reb
四. 连板运行
先随便打开一个Qt例程,这里是打开了一个gui/openglwindow例程,单击 项目
,然后选择前面配置的LubanCat交叉编译套件,然后单击 Run
:
先修改 Remote Directory
目录,需要打开pro文件,修改部署路径:
在项目中Run Environment
中添加环境变量和默认系统的环境变量,会编译程序,然后远程连接,部署运行,同时也会传输文件到板卡目录下。 eglfs默认占用全屏输出,也可以使用xcb、LinuxFB等其他插件显示。同第三步第1项树莓派环境变量设置。DISPLAY变量可以设置软件UI显示位置。
他的值需要你接上屏幕,然后打开一个终端,通过echo $DISPLAY获取,一般时:0
或者是:1
,注意:冒号和数字是一体的
五. 连板调试
接着使用上面的例程进行调试, 先在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中,点击一行的前端,添加断点, 然后单击调试,显示如下: