Ubuntu16.04为ROS搭建Qt开发环境

转自:https://blog.csdn.net/weixin_41995979/article/details/88182082
亲测可用,Ubuntu16.04+ROS Kinetic+Qt5.8.0,在线调试ROS node,可加载整个工作空间。其中在转载原创的基础上,自己添加了build 和run 设置

很早之前就听说了Qt有ROS插件可以使用,只是阴(lan)差(de)阳(qu)错(gao)一直到今天还是在使用纯文本的方式在开发ROS,上午心(shou)血(bu)来(liao)潮(le),走上了Qt+ros_qtc_plugin的不归路。。。
所谓生活总是bug不断,没想到配个ros+Qt还能花我半天时间,终于搞定了,感觉现在就算见了鬼都会觉得眉清目秀,还是决定写个博客记录一下

过程中主要参考了(小弟我能好好用Qt开发ROS,全仰仗以下三位dalao的文章):
ROS与C++入门教程-搭建开发环境(QT+ros_qtc_plugin)
如何使用Qt插件在Qt中进行ROS开发
ROS基础——Qt配置

0. 安装前准备,安装相应的GNU开发工具集和OpenGL开发库

sudo apt-get install build-essential libgl1-mesa-dev  libevent-pthreads-2.0.5 doxygen xorg-dev

 
 
  • 1

1. 安装Qt

cd ~/download/
wget http://download.qt.io/archive/qt/5.8/5.8.0/qt-opensource-linux-x64-5.8.0.run
chmod +x ~/download/qt-opensource-linux-x64-5.8.0.run

 
 
  • 1
  • 2
  • 3

执行完命令后,找到下载位置直接双击安装即可
在这里插入图片描述
安装过程tips:

  • 安装在 /home/用户名(自行修改)/Qt5.8.0 目录下即可
  • Qt组件等跟随默认配置即可

安装完在dash home中输入qt,可以看见图标即安装成功

1.1 设置修改快捷方式

cd ~/.local/share/applications/
ls

 
 
  • 1
  • 2

在这里插入图片描述
其中那个.desktop结尾的文件就是快捷方式文件,我们要做的就是修改它

sudo vim DigiaQt-qtcreator-community.desktop 

 
 
  • 1

bash -i -c插入到下面这行里面:

Exec=/home/tloinny/Qt5.8.0/Tools/QtCreator/bin/qtcreator

 
 
  • 1

最后修改为:

Exec=bash -i -c /home/tloinny/Qt5.8.0/Tools/QtCreator/bin/qtcreator

 
 
  • 1

保存退出

  • 添加 bash -i -c 是为了在通过快捷方式启动Qt Creator的同时加载ROS环境变量

2. 安装ros_qtc_plugin插件

sudo add-apt-repository ppa:levi-armstrong/qt-libraries-xenial  
sudo add-apt-repository ppa:levi-armstrong/ppa  
sudo apt-get update && sudo apt-get install qt57creator-plugin-ros

 
 
  • 1
  • 2
  • 3

不知道你是怎么样的?反正我从这里就开始情况就变得扎心了。。。。
出现类似这样的问题。。。
E: 仓库 “xxxxxxxxxxxx” 没有 Release 文件。 N: 无法安全地用该源进行更新,所以默认禁用该源。 N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。

解决方法可以参考这篇文章(但我不保证它可以帮到你。。。):Ubuntu18.04 问题——无法安全地用该源进行更新,所以默认禁用该源。404 NOT FOUND [IP… ]

一顿操作猛如虎:sudo apt-get cleansudo apt-get update 、删除sources.list.d下的错误文件、再次sudo apt-get update,究竟折腾了多久我忘了,不过好在问题最终是解决了。

如果你比我幸运,并没有碰到什么问题,那是再好不过了,你就可以愉快地进入下一步:

2.1 修改系统配置文件让Qt启动器选择新版的Qt

sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

 
 
  • 1

内容为:

/usr/lib/x86_64-linux-gnu/qt4/bin
/usr/lib/x86_64-linux-gnu

 
 
  • 1
  • 2

修改成:

/home/用户名(自行修改)/Qt5.8.0/5.8/gcc_64/bin
/home/用户名(自行修改)/Qt5.8.0/5.8/gcc_64/lib

 
 
  • 1
  • 2

3. 开始使用Qt

如果你没费什么劲就到了这一步,那真是太好了。
你可以打开terminal:
输入:

qtcreator-ros

 
 
  • 1

或者双击QtCreater的快捷方式(反正我使用快捷方式的话后续会出现问题,用命令行就没事。。。)
所以这里我主要说使用命令行的方式(那刚刚我们修改快捷方式是为了什么。。。我也不知道,既然前辈们讲了这一步,那我还是别省了)

不过我安装完的Qt确实是莫名其妙的跟别人的有些不同,所以我接下来要说的方法不排除有局限性的可能,就当给那些跟我遇到相同问题的小伙伴们留条活路吧。。。

别人家的Qt里都有Import ROS Workspace这个东西:
在这里插入图片描述
在这里插入图片描述
而我的Qt…emmmmmm:
在这里插入图片描述
你丫逗我呢?我发誓我是紧跟着前辈们的步伐走的,这么就不一样呢。。。。

既然我无法导入已有的ROS工作空间,但至少我还能新建一个。。。
在这里插入图片描述
当我新建完了以后,神奇地发现了,其实就是多了这些文件
在这里插入图片描述
而这跟我们手动创建的ROS工作空间相比,看上去似乎就是多了后面两个文件
在这里插入图片描述
所以我猜测,这就是Qt导入ROS工作空间的关键所在,当我打开这个文件后更加确信了这一点,如果你看个这两个文件,会发现这似乎是两个通用的文件,唯一用于区分的好像就只有文件名了,而且命名规则就是工作空间名.workspace工作空间名.workspace.user,于是我将这两个文件原封不动地复制下来,粘贴到我原有的工作空间里,再用原有的工作空间名称,遵循其命名规则重新命名了一遍。
在这里插入图片描述
然后。。。。就在Qt里面神奇地。。。。打开了
在这里插入图片描述在这里插入图片描述
幸福来的太突然了
我愉快地跟着前辈的教程继续配置build和run,满心欢喜地点击了这几个小按键,期待着奇迹的发生
在这里插入图片描述
结果。。。。:
在这里插入图片描述
在这里插入图片描述
没问题啊hhhhhhhhhhhhhhh,感觉都要飞上天跟太阳肩并肩了





等等,别激动,加个断点先,看看能不能调试
在这里插入图片描述
结果呢:
在这里插入图片描述
丫的,逗我呢。。。。这Debug这么霸道?连断点都不放在眼里???直接无视了???
好吧,折腾到最后发现这样配置build和run才是ok的:
在这里插入图片描述
在这里插入图片描述
到此,我终于可以正常地使用Qt为ROS应用程序debug了

Add:
build settings:
build settings
Run settings:
Run settings

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值