工欲善其事,必先利其器。记录一下如何配置eclipse以用于ROS C++开发:
1. 切换至工作空间
i5@pop-os:~/ws_moveit$ ls
build devel src
2. 生成.project文件并传递环境变量
i5@pop-os:catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles"
i5@pop-os:awk -f $(rospack find mk)/eclipse.awk build/.project > build/.project_with_env && mv build/.project_with_env build/.project
3. 导入package
这一步很重要,选择的目录不正确的话会无法resolve一些头文件,依次执行操作:
i) File ---> New ---> Makefile project with existing code
ii) 点击Browse后,选择工作空间下的build目录,点击OK
4、检查导入是否成功
经过以上步骤一般就可以在Eclipse中进行ROS C++开发了,可以愉快的使用Eclipse的跳转和自动补全功能了。如果还是不行,可能原因:
1、ROS本身的头文件未被包含;
2、package内自动生成的msg头文件未被包含;
3、条件编译未配置
此时可以尝试手动添加一下:
在build目录上右键,选择Properties--->C/C++ General--->Paths and Symbols--->Includes--->GNU C++,点击Add,添加目录:/opt/ros/melodic/include/,path_to_your_workspace/devel/include,添加完成后,再次点击index--->rebuild,等待执行完成,此时所有文件中的符号都应当被resolve了。
如果包含条件编译,则在Properties--->Path and Symbols--->GNU C++页面,点击Add,配置相应的宏即可,如下图,配置后的作用相当于#define ROS