【问题标题】:Setting up ROS package in CLion在 CLion 中设置 ROS 包
【发布时间】:2016-01-15 07:18:01
【问题描述】:

我正在使用 CLion (C++ IDE) 来编辑 ROS 包。我可以通过打开CMakeLists.txt 文件来打开一个包。但是,我得到一个错误,

“FATAL_ERROR”find_package(catkin) 失败。在工作区和 CMAKE_PREFIX_PATH 中都没有找到 catkin。一个原因可能是 之前没有获取 ROS setup.sh"

我该如何解决这个问题?更改代码后,我能否在 CLion 中 make 项目(如果是,我该怎么做),还是必须在单独的终端中 catkin_make

【问题讨论】:

  • 每次打开终端时它会自动(或使用source /opt/ros/<distro>/setup.bash 命令手动)检索catkin 环境变量。因此,CLion 无法自行找到它们。看看这个解决方法:answers.ros.org/question/210534/…

标签: c++ cmake ros clion catkin


【解决方案1】:

试试这个(对于 Linux):

  1. 打开命令行

  2. 在你的包上运行 catkin_make

  3. source 你的 catkin_workspace/devel/setup.bash 文件,例如来源 ~/my_dev_folder/catkin_ws/devel/setup.bash

  4. [CLion install dir]/bin/clion.sh 启动 CLion,例如cd ~/Downloads/clion-1.2.4/bin && ./clion.sh

然后,CLion 应该通过 setup.bash 文件设置的本地环境变量了解你的 catkin 工作区中的包。

【讨论】:

  • 加入 whurobocon&Siong Thye Goh 和 Darren H&zx485; 的答案CLion 文档现在确实包含有关 ROS 集成的好建议,但您应该浏览整个页面,因为其中涵盖了很多要点。 jetbrains.com/help/clion/2018.3/ros-setup-tutorial.html
  • 值得一提的是,@willc 链接的 jetbrains 帮助网站上描述的配置建议在使用 catkin_tools / catkin build 而不是 catkin_make 时可能不起作用。我自己也遇到了这个问题,并在这里发布了相应的解决方案:stackoverflow.com/a/65343315/2422098
【解决方案2】:

要添加 WillC 建议的内容,您还可以修改桌面条目以从 bash 启动应用程序,而不是手动这样做。

为此,请编辑位于

的桌面文件
~/.local/share/applications/jetbrains-clion.desktop

通过将包含Exec=的行修改为

Exec=bash -i -c "/INSTALL_LOCATION/clion-2016.3.2/bin/clion.sh" %f

【讨论】:

    【解决方案3】:

    为了补充 WillC 的建议,CLion 默认重新加载最后一个 cmake 编译结果。

    但是,如果您在最后一次尝试中找不到 catkin.cmake,即使您获取了 devel/setup.bash 并打开了 CLion,您也找不到 catkin.cmake。

    你应该点击 File --> Reload Cmake Project 并且你应该得到正确的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-30
      • 2018-06-05
      • 2016-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多