【问题标题】:IDE open project based on catkin_tools基于catkin_tools的IDE打开项目
【发布时间】:2018-05-27 00:26:20
【问题描述】:

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

【问题讨论】:

    标签: cmake ide qt-creator catkin


    【解决方案1】:

    注意:以下解决方案适用于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

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

    请原谅我挖掘了一个老问题,但我刚刚遇到了这个问题,并为 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 options”下,如上所述指定devel前缀,在“Build directory”下,如上所述指定构建目录:

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

    未配置 CLion 时的问题如上述步骤所述:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2018-10-10
        • 2021-05-25
        • 1970-01-01
        • 2015-02-18
        • 1970-01-01
        • 2021-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多