ROS2入门教程-rviz2 的 Eclipse Oxygen
说明:
- 介绍ROS 2 和 rviz2 的 Eclipse Oxygen
步骤:
- 为每个 ROS-2 包使用嵌套项目和一个 Eclipse 工作区
- 创建一个 C++ 项目
- 选择 ROS 2 包名称作为项目名称。选择 Makefile 项目和其他工具链
- 点击完成
- 我们的项目应该显示在“项目浏览器”中
- 在我们的项目中创建一个名为“src”的文件夹。
- 导入一个 git 存储库
- 放入存储库 URL
重要提示:使用我们之前创建的项目的源文件夹作为目标文件夹。
提示:如果您在选择目标文件夹路径时遇到问题,Eclipse 对话框需要在名称字段中输入一个名称。
- 使用新项目向导导入
- 创建一个General->Project
- 使用 git 存储库名称作为项目名称。重要提示:使用我们克隆 git 存储库的文件夹作为“位置”
- git 项目和新项目应该在 Project Explorer 视图中可见。多次列出相同的文件,但只有一个项目与 Egit 链接
- 再次重复此过程。导入 git 存储库 pluginlib
- 重要提示:使用源文件夹内的文件夹作为“目标->目录”。
- 重要提示:使用我们克隆 git 存储库的文件夹作为新项目的位置
- 使用 tinyxml2_vendor git 存储库运行相同的过程
- 重要提示:再次使用源文件夹中的文件夹。
- 重要提示:使用我们克隆的文件夹的位置作为新的项目文件夹。
- 现在所有四个项目都应该在 Project Explorer 视图中可见
- 单击 Project Explorer 视图的右上角允许我们将 Project Presentation 更改为 Hierarchical 视图。现在它看起来像一个 ROS-2 项目,因为它在硬盘上。但是这个视图失去了与 Egit 的联系,所以使用 Flat Project Presentation。如果您想查看例如哪个作者编写了哪个代码行等,Egit 链接是很好的
- 转到“C/C++ build”部分并将“ament”放入“Build command”
- 转到“行为”选项卡并取消选择“干净”并将“构建”放入构建文本框中。
- 在“构建项目”工作之前,我们需要关闭 Eclipse。打开 shell 并获取 ROS-2 setup.bash 文件,然后 cd 进入 eclipse 项目的目录(此处:/home/ubu/rviz2_ws/rviz2_ws)并从该目录中启动 Eclipse
- 现在代码完成、egit 注释、eclipse C/C++ 工具等都应该可以工作
Eclipse-indexer
打开rviz2的main.cpp可能会出现很多“未解析的包含”警告。要解决此问题,请转到 Project->Properties->C++ General->Path and Symbols。单击“参考”选项卡并选择“ros2_ws”
- 转到 C/C++-General->Path-and-Symbols,单击“源位置”选项卡,然后单击“链接文件夹”。选择qt5包含的位置。
- 应该显示下一个图像。将排除项添加到源位置是一个好主意,这样某些目录(如“Build”和“Install”)就不会被索引
- 转到 C++General->Preprocessor includes,选择“CDT GCC Built in compiler settings [Shared]”并在“command to get compiler specs”文本框中输入以下内容
-std=c++14
- 转到“C/C++-General->Indexer”并选择图像中的以下内容。例如“将未使用的头文件索引为c 文件”来解析例如QApplication,因为QApplication 头文件内容只是“#include”qapplication.h”
- 运行索引器后
- 之后右击rviz2项目并选择“Indexer->Rebuild”,这将开始重建索引(右下角有一个显示进度的图标)。一旦索引完成重建,它应该能够解析所有包含
用eclipse调试
转到“C/C++-Build”并添加到构建命令中:
-DCMAKE_BUILD_TYPE=Debug
- 然后在 Eclipse 中转到“Run->Debug Configurations”并添加以下内容并单击“Debug”。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号