在CLion中设置ROS包

7
我正在使用CLion(C++ IDE)编辑ROS软件包。我能够通过打开CMakeLists.txt文件来打开软件包。但是,我遇到了一个错误:

"FATAL_ERROR "find_package(catkin) failed. catkin was neither found in the workspace nor in the CMAKE_PREFIX_PATH. One reason may be that no ROS setup.sh was sourced before"

我该如何解决这个问题?在对代码进行更改后,我是否能够在CLion中进行make项目(如果可以,该如何操作),还是必须在单独的终端中运行catkin_make

每次打开终端时,它会自动(或手动使用“source /opt/ros/<distro>/setup.bash”命令)检索catkin环境变量。因此,CLion无法自行找到它们。请查看此解决方法:http://answers.ros.org/question/210534/jetbrains-clion-ide-setup-for-ros/ - alextoind
3个回答

12

尝试以下步骤(适用于Linux):

  1. 打开命令行

  2. 在您的包上运行 catkin_make 命令。

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

  4. [CLion安装目录]/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集成的良好建议,但是您应该浏览整个页面,因为涵盖了许多要点。https://www.jetbrains.com/help/clion/2018.3/ros-setup-tutorial.html - WillC
值得一提的是,JetBrains帮助网站上描述的配置建议(由@willc链接)在使用catkin_tools / catkin build而不是catkin_make时可能无法正常工作。我自己遇到了这个问题,并在此处发布了相应的解决方案:https://stackoverflow.com/a/65343315/2422098 - svenlr

4

补充一下WillC的建议,您可以修改桌面快捷方式以从bash中启动应用程序,而不是手动操作。

要实现这一点,请编辑位于

~/.local/share/applications/jetbrains-clion.desktop

通过修改包含Exec=的行来实现。
Exec=bash -i -c "/INSTALL_LOCATION/clion-2016.3.2/bin/clion.sh" %f

0
补充一下WillC的建议,CLion默认重新加载上次的cmake编译结果。
但是,如果你在上次尝试中找不到catkin.cmake,即使你已经source devel/setup.bash并打开了CLion,你也找不到catkin.cmake。
你应该点击文件-->重新加载Cmake项目,然后你应该得到正确的结果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接