Clion 使用Docker中的 ROS1开发环境
当前使用的是Ubuntu 22.04,有些项目是在ROS1上,无法使用CLION进行开发。可以借助Docker实现。
假设当前有一个Docker是px4io/px4-dev-ros-melodic。
Docker中获取环境变量
- 首先进入docker,
docker run -it --rm \
-v /tmp/.X11-unix:/tmp/.X11-unix:ro \
-e DISPLAY=${DISPLAY} \
-e LOCAL_USER_ID="$(id -u)" \
--name=ros1-melodic px4io/px4-dev-ros-melodic /bin/bash
- 然后,
source ~/ros1_ws/devel/setup.bash
- 之后
printenv
得到输出如下,其中ROS相关变量如下,
LD_LIBRARY_PATH=/home/up2/ros1_ws/devel/lib:/opt/ros/melodic/lib
CMAKE_PREFIX_PATH=/home/up2/ros1_ws/devel:/opt/ros/melodic
ROS_ROOT=/opt/ros/melodic/share/ros
ROS_VERSION=1
ROS_PYTHON_VERSION=2
PYTHONPATH=/home/up2/ros1_ws/devel/lib/python2.7/dist-packages:/opt/ros/melodic/lib/python2.7/dist-packages
ROS_PACKAGE_PATH=home/up2/ros1_ws/src/Sample/self_checking:/opt/ros/melodic/share
ROSLISP_PACKAGE_DIRECTORIES=/home/up2/ros1_ws/devel/share/common-lisp
PATH=/opt/ros/melodic/bin:/usr/lib/ccache:/opt/gradle/gradle-6.3-rc-4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PKG_CONFIG_PATH=/home/up2/ros1_ws/devel/lib/pkgconfig:/opt/ros/melodic/lib/pkgconfig
ROS_DISTRO=melodic
CLION中Docker设置
- 打开Clion - Settings - Build - Toolchains
- 添加Docker, 选择一个Docker Image,然后打开Container Settings
- 添加 Enviroment varibales把上面获取的环境变量依次添加
- 源代码有需要也可以映射进来,因为自定义的ros package都是在src下,需要映射进来
- 最后记得在这里把Docker设置为默认,返回Editor刷新reload即可