如何使用clion调试ROS包

0.在.bashrc文件中设置别名, alias clion="sh ~/app/clion-2020.1.2/bin/clion.sh",便于快速命令行启动

1.在Clion里安装ROS的插件
打开Clion,选择file->settings->plugins->Marketplace
在搜索框里搜索ros-robot operating,选择robot framework support, hatchery, ROS support,然后点击安装,安装完以后重启Clion


也可以选择安装中文语言包
同样是在plugins里面搜索chinese进行安装

2.下载安装好clion后,先配置下clion的setting
更改cmake为系统安装版本,选择File -> Settings -> Build, Execution, Deployment -> Toolchains
更改Cmake和gdb为ubuntu自带的版本,更改后的配置如下图


image

3.以上是clion的通用配置,接下来是对某个ros工程进行配置(如果没有报错,省略第三步)

更改debug的配置,选择File -> Settings -> Build, Execution, Deployment -> CMake
这个配置是只用来配置当前project, 换了其它project要重新配置debug


image

注意:
0.在catkin_ws下source devel/set.bash,使得终端读入该ros工作空间的环境变量,然后在终端输入clion,启动clion.

1.有一个注意的细节是用clion打开工程的路径,要选择catkin_ws/src下的CMakeList.txt,

image

这样在这个工作空间下的所有包都可以单独编译,编译生成的文件在每个package下面的cmake-build-debug文件夹下,这样不会与build产生冲突,只单用调试,程序调试完成后,运行时仍然使用的是catkkin_make进行编译.

每个包单独编译的方法: 在左侧目录中,右键选择package 1的CMakeList.txt, Load CMake project就可以看到右上角的可执行文件名称不一样,变成对应CMakeList.txt生成的可执行文件名称


image
image

2.解决clion头文件找不到问题
是因为catkin_make编译的msg文件在devel中,要给其添加路径
在File -> Settings -> Build, Execution, Deployment -> CMake配置中设置CMake option为
-DCMAKE_BUILD_TYPE=Debug -DCATKIN_DEVEL_PREFIX:PATH=/home/wanghuohuo/catkin_clion/devel
或者
-DCATKIN_DEVEL_PREFIX:PATH=/home/wanghuohuo/catkin_clion/devel

3.出现这个黄色提示This file doesnot belong to any project target ,code insisht features might not word properly
是因为右上角载入的是co_sensor_fusion的工程,而该文件是multithread工程,所以会出现这个提示,Load multithread的CMakeList.txt即可


4.当编译完成后,rosrun运行的这个节点是build中的还是cmake-build-debug中的呢?
source环境后,ros会提示,让你手动选择哪个节点

5.在clion中调试的是CMakeList.txt生成的可执行文件!!!所以名称也是可执行文件的名称!

你可能感兴趣的:(如何使用clion调试ROS包)