说明
近期Qt IDE因为出色的跨平台特性。逐步開始流行。编译环境也集成了经常使用到的编译调试工具。大部分玩Linux的高手应该是自己写脚本来实现一键远程部署和调试等命令。
可是对于新手不免有非常大难度。以下说说利用QT自带的远程部署工具和远程调试工具gdbserver,远程SSH工具。无需安装NFS。
Gdbserver的安装參见 SSH的安装依据自己目标板安装。
1远程部署linux设备加入
打开工具》选项》linux设备》设备配置选项卡 加入一个通用Linux设备。这里须要输入设备名称,主机名称是(ARM)目标板IP地址,SSHport默认是22,username和password是你须要登录的账户。当然我建议登录root,当然这里填写自己目标板的root账户名password。2将project加入远程部署
目的是把执行文件复制到目标板指定文件夹
点击左側《编辑》选项卡,打开XXX.proproject文件,加入例如以下代码 target.path = /opt INSTALLS += target sources 上面代码的意思加入目标板文件路径,加入代码后点击左側《项目》选项卡。打开执行《设置》标签,对该项目加入远程部署,点击加入。选择《部署到远程Linux主机》,配置设备选择①中加入的设备。
3添加额外的远程命令
Qt远程执行和调试时有两个bug:
一是当第二次部署执行的时候。sftp部署会失败。弹出错误例如以下能够用PS命令来验证这个说法。
解决的方法是添加一条远程部署命令删除原来的文件,同一时候也终止上一次远指令。写一个脚本文件我的名称名kill_list.sh。脚本文件例如以下 PID=ps ax | grep $1 | awk '{if ($0 !~/grep/) {print $1}}'
# echo “PID=PID”if[−n“PID” ]; then kill -9 $PID >/dev/null 2>&1 fi 点击《加入部署步骤》加入例如以下命令行:/opt/kill_list.sh是脚本文件路径,RichBike是可执行程序文件,&不堵塞。目的是找到包括这个可执行文件名称的程序将它终止。 4远程执行配置
目的是程序在目标板执行,并且将信息打印显示在本地,从而实现远程执行 点击《加入》选择在《远程设备是执行》,參数选项的-qws假设目标板之前没有窗体程序那么你就须要加上它。5远程执行測试
建议project在改变编译环境时执行又一次构建 点击执行button,假设正常执行,执行结果例如以下。7配置调试器
打开工具》选项》调试器》GDB选项卡 Gdb启动脚本:填写Gdbserver的arm-linux-gdb绝对文件夹,超时时间默认