1

我现在正在阅读基于 catkin_tools 构建的 ROS 包。这很复杂,所以我需要将此项目导入 IDE(如 Clion、QT Creator 等)。虽然 catkin-tools 的官方文档说你不能依赖 CMake 的 IDE 集成(http://catkin-tools.readthedocs.io/en/latest/migration.html?highlight=IDE),但我仍然对这个。那么有人有这样的经历吗?

PS:我还找到了ros_qtc_plugin的作者声称他添加了catkin_tools的功能,但我仍然找不到如何做到这一点。

4

2 回答 2

2

注意:以下解决方案适用于catkin build,但不适用于catkin_make。如果您正在使用catkin_make,请访问:
https ://stackoverflow.com/a/35143865/2422098
https://www.jetbrains.com/help/clion/2020.2/ros-setup-tutorial.html#set-build-paths

工作区的 CLion 配置catkin_tools( catkin build)

请原谅我挖掘了一个老问题,但我刚刚遇到了这个问题并找到了 CLion 的解决方案catkin_tools(即,当使用 构建时catkin build)。我在 20.04 上使用 ROS Noetic 和 CLion 2020.2.4 测试了建议的解决方案。

根据文档,catkin_tools为每个 ROS 包使用单独的开发工作区路径:
https ://catkin-tools.readthedocs.io/en/latest/advanced/linked_develspace.html

包的 devel 前缀路径:

-DCATKIN_DEVEL_PREFIX:PATH=/home/<user-name>/catkin_ws/devel/.private/<package-name>

包的构建目录:

/home/<user-name>/catkin_ws/build/<package-name>

要在 CLion 中打开和编辑 ROS 包,请按照以下步骤操作:

  1. catkin build在工作区中运行
  2. devel 文件夹中的源代码/opt/ros/$ROS_DISTRO/setup.bash和您的工作区setup.bash
  3. 之后,从命令行启动CLion,让它继承环境变量
  4. 在 CLion 的 Open Project 向导中,导航到 ROS 包,然后选择 CMakeLists.txt. 出现提示时,单击Open as Project
  5. 打开设置窗口(通常是 Ctrl+Alt+S)
  6. 导航到“构建、执行、部署”>“CMake”
  7. 在“CMake 选项”下,如上所述指定 devel 前缀,在“构建目录”下,如上所述指定构建目录:CMake 设置

说明:
当以上述方式配置时,生成的 CMake 文件和创建的构建文件catkin build被 CLion 重用。默认情况下,当不将其配置为重用构建文件时,CLion 将创建自己的cmake-build-debug/生成目录。我在使用这个专用的生成/构建目录时遇到了以下问题:

未按照上述步骤配置 CLion 时出现的问题:

  • 节点/库被构建了两次(CLion,catkin build),这增加了开发时间。
  • 库构建了两次,但 CLion 构建链接与~/catkin_ws/devel.so 文件而不是cmake-build-debug/.so 文件。这在处理具有至少一个库的 ROS 包时会令人困惑,因为在 CLion 中构建库是一条死胡同,并且永远不会使用 .so 输出。
  • 由于可执行文件被构建了两次,rosrun因此存在歧义问题,因为它为指定节点找到了两个可执行文件。每次rosrun使用时都会出现一个可执行的选择提示。
于 2020-12-17T15:09:16.140 回答
0

过去,我曾成功使用 Eclipse 与 ROS 一起工作。有关设置详细信息, 请参见:http ://wiki.ros.org/IDEs#Creating_the_Eclipse_project_files。

如果您想要开箱即用的东西,您可以尝试一个名为 RoboWare 的免费 IDE,它专门为 ROS 构建并与 ROS 很好地集成。 http://www.roboware.me/#/home

于 2018-01-31T13:37:49.437 回答