Clion IDE下的ROS项目环境配置
简介
系统环境为Ubuntu 18.04,ROS版本为ros-melodic,Clion IDE默认使用Cmake进行项目构建,因此需要对ROS所需的包进行环境导入,否则会产生类似无法找到catkin或其他错误,导致加载CMakeLists.txt失败。
方式一:终端内导入环境
按照Clion官方的方式,可以使用从源码编译的方法构建Clion,并通过终端执行Clion,在执行前先source一下ros的工作空间,之后在该终端内运行Clion。
source ~/catkin_ws/devel/setup.bash
详细步骤可参考Clion官网对于配置ROS项目的方法
https://www.jetbrains.com/help/clion/ros-setup-tutorial.html#launch-in-sourced
方式二:通过Ubuntu软件商店安装至snap目录下的
安装Clion时贪图方便,直接在软件商店内安装在了snap目录,可以通过Clion图标点击打开程序。此时需要修改桌面图标脚本。由于Clion版本更新,官网目前给出的图标位置可能会有变化,可以自行搜索:
先找到Clion图标脚本所在位置,通过如下命令搜索:
locate .desktop | grep clion
笔者的图标脚本位于
/var/lib/snapd/desktop/applications/clion_clion.desktop
可以通过gedit或vim命令工具打开编辑该文件,注意可能需要sudo权限。将其中的这一行
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/clion_clion.desktop /snap/bin/clion %f
(增加bash -i -c)替换为:
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/clion_clion.desktop bash -i -c /snap/bin/clion %f
详细步骤可参考ROS官网对Clion IDE配置项目的方式
http://wiki.ros.org/IDEs#CLion
注意!! 笔者使用这种方式虽然可以正确加载CMakeLists.txt文件,但是在关闭Clion程序并重新打开时,将会无法打开,并且CPU占用非常高,运行变慢,即使找到Clion的运行ID并通过kill -9 pid
终端进程后也无法重新打开。目前仍不知道问题所在。
方法三:在CMakeLists.txt中导入catkin目录环境
由于笔者对CMakeLists.txt语法不太熟悉,在此不对该方法做出解释。
可以在CMakeLists.txt中的寻找catkin组件包前
find_package(catkin REQUIRED COMPONENTS
... )
添加这两行环境导入
list(APPEND CMAKE_PREFIX_PATH "/opt/ros/melodic")
list(APPEND CMAKE_PREFIX_PATH "/opt/ros/melodic/share/catkin/cmake")
由于笔者使用的时ros-melodic,因此目录中的均为melodic,其它版本可自行修改。
使用此方法可在不修改Clion图标脚本的方式下,成功加载CMakeLists.txt。