您正在阅读的是开发版本的文档。有关最新发布的版本,请访问 Jazzy.
将 Eclipse Oxygen 与 rviz2
[社区贡献]
设置
本教程假定使用 Eclipse Oxygen、git 和 Egit (http://www.eclipse.org/egit/download/) 已经安装。
在整个教程中,我们将 eclipse 工作区命名为与 ros2 软件包相同的名称,但这并不是必需的。
提示:我们为每个 ROS-2 软件包使用嵌套项目和一个 Eclipse 工作区。

创建一个 C++ 项目。


选择 ROS 2 软件包名称作为项目名称。选择 Makefile 项目和其他工具链。

点击完成

我们的项目应显示在 "项目浏览器 "中。

在我们的项目中创建一个名为 "src "的文件夹。

导入 git 仓库

输入版本库 URL。

重要: 使用我们之前创建的项目源文件夹作为目标文件夹。
提示:如果在选择目标文件夹路径时遇到问题,Eclipse 对话框需要在名称字段中输入名称。

使用新项目向导导入。

创建常规->项目。

使用 git 仓库名称作为项目名称。重要:使用我们克隆 git 仓库的文件夹作为 "位置"。

在 "项目浏览器 "视图中应能看到 git 项目和新项目。相同的文件被多次列出,但只有一个项目与 Egit 链接。

再次重复此步骤。导入 git 仓库 pluginlib。

重要: 使用源文件夹内的文件夹作为 "Destination->Directory(目的地->目录)"。

重要:使用我们克隆的 git 仓库文件夹作为新项目的位置。

在 tinyxml2_vendor git 仓库中运行相同的程序。

重要提示:再次使用源文件夹内的文件夹。

重要:使用我们克隆的文件夹位置作为新项目文件夹。

现在,在 "项目浏览器 "视图中应该可以看到所有四个项目。

点击右上角的 "项目浏览器 "视图,我们可以将 "项目展示 "更改为 "层次视图"。现在,它看起来就像硬盘上的 ROS-2 项目。但这种视图失去了与 Egit 的链接,因此请使用平面项目展示。如果你想查看哪个作者写了哪个代码行等信息,那么 Egit 链接是个不错的选择。

转到 "C/C++ 构建 "部分,在 "构建命令 "中输入 "ment"。

转到 "行为 "选项卡,取消选择 "清洁",在 "构建 "文本框中输入 "构建"。

在 "构建项目 "工作之前,我们需要关闭 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(路径)和 Symbols(符号)。单击 "References(引用)"选项卡并选择 "ros2_ws"。

进入 C/C++-General->Path-and-Symbols(路径和符号),点击 "Source locations(源位置)"选项卡,然后点击 "Link folder(链接文件夹)"。选择 qt5 包含的位置。

应该会显示下一张图片。在源位置添加排除项是个好主意,这样某些目录(如 "Build "和 "Install")就不会被索引。

转到 C++General->Preprocessor includes,选择 "CDT GCC Built in compiler settings [Shared](CDT GCC 内置编译器设置 [共享])",然后在 "command to get compiler specs(获取编译器规格的命令)"文本框中输入以下内容:
-std=c++14

转到 "C/C++-General->Indexer "并选择图片中的以下内容。例如,选择 "index unused headers as c files "来解决 QApplication 等问题,因为 QApplication 头文件的内容只有 "#include "qapplication.h"。

运行索引器后(稍后会发生,所以您稍后也会看到),您可以看到它添加的内容

然后右键单击 rviz2 项目并选择 "Indexer->Rebuild"(索引重建),这将开始重建索引(右下角有一个图标显示进度)。索引重建完成后,应该就能解决所有包含问题了。

使用 eclipse 调试
转到 "C/C++-Build",添加编译命令:
-dcmake_build_type(构建类型=调试

然后在 eclipse 中进入 "Run->Debug Configurations"(运行->调试配置)并添加以下内容,然后点击 "Debug"(调试)。
