使用Qt构建ROS应用程序
目前使用Qt构建和调试ROS程序有两种方法:
1、使用QT creator直接打开CMakeList.txt文件,但是由于Qt每个版本对Cmake的支持程度不太一样,这种方式来编辑ROS的程序,代码提示工作总是有些问题。
2、一些大牛针对qt开发了ROS的插件来支持ROS程序的开发,但是环境配置比较复杂
我在使用中发现,Qt Creator通过少许的配置,即可在保证代码提示正常的情况下,编辑,编译,运行和debug ROS程序,记录下来,以后备用。
注:该方法仅支持c++程序,其他语言并不支持。
我们拿ROS的程序Talker为例子:
1、talker的程序目录结构如下:.
talker/
├── CMakeLists.txt
├── CMakeLists.txt~
├── include
│ └── talker
├── package.xml
└── src
└── talker_node.cpp
2、打开qtcreator 点击File -> New File or Project... 选择 Import Project -> Import Existing Project
3、输入工程名,目录选择talker程序目录
4、一路next后,你将得到一个包含程序文件的标准C++工程,但是目前的工程的代码提示不能正常的提示ROS相关和QT相关的头文件。
5、下一步,双击编辑talker.includes文件,加入以下路径(根据个人环境不同,请适当做更改)
include
/opt/ros/indigo/include/
/usr/include/qt5/QtCore/
/usr/include/qt5/QtNetwork/
/usr/include/qt5/QtSerialPort
/usr/include/qt5/QtGui/
6、现在代码提示都正常了,问题是还不能执行构建指令,会进行如下提示:
7、点击qtcreator主面板左边的Projects选项,点击Add Build Step
8、按照下图输入配置信息(注意修改Build directory为catkin_make的目录,并删除Build Steps下面的make all项):
9、此时程序就可以进行构建了,但是还不能RUN和DEBUG,还是在上一个界面切换到run选项,进行下面的设置,程序就可以直接运行了,如果需要debug,必须在程序的CMakeList.txt文件的最后加上set(CMAKE_BUILD_TYPE Debug)然后就可以debug了。
上一篇: qt_ros 带界面程序