IDE打开基于catkin_tools的项目

时间:2017-12-13 07:19:04

标签: cmake ide qt-creator catkin

我现在正在阅读基于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的功能,但我仍然找不到如何做到这一点。

2 个答案:

答案 0 :(得分:0)

我过去使用Eclipse与ROS合作取得了成功。有关设置详细信息,请参阅:http://wiki.ros.org/IDEs#Creating_the_Eclipse_project_files

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

答案 1 :(得分:0)

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

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

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

根据文档,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. 来源/opt/ros/$ROS_DISTRO/setup.bash和您的工作空间setup.bash在devel文件夹中
  3. 然后,从命令行启动CLion,以便它继承环境变量
  4. 在CLion的“打开项目”向导中,导航到ROS程序包,然后选择 CMakeLists.txt。出现提示时,单击Open as Project
  5. 打开“设置”窗口(通常是Ctrl + Alt + S)
  6. 导航到“构建,执行,部署”>“ CMake”
  7. 在“ CMake选项”下,如上所述指定devel前缀,并在“构建目录”下指定如上所述的构建目录:CMake Settings

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

未按照上述步骤配置CLion的问题

  • 节点/库被构建两次(CLion,catkin build),这增加了开发时间。
  • 库构建了两次,但是CLion构建与~/catkin_ws/devel .so文件而不是cmake-build-debug/ .so文件的链接。当使用至少一个库处理ROS软件包时,这会造成混淆,因为在CLion中构建库是死胡同,并且从不使用.so-output。
  • 由于可执行文件生成了两次,因此rosrun存在一个不确定性问题,因为它为指定节点找到了两个可执行文件。每次使用rosrun时,都会出现一个可执行的选择提示。