Windows11 + CLion + WSL2开发ROS

前言

我的WSL2是ubuntu 18.04,安装好了ROS,WSL2里虽然可以直接安装CLion,也有图形化界面,但是由于没有中文输入法,以及windows创建的文件在WLS2里是root创建的,默认也没有写入权限,在WSL2的CLion里去写代码非常的麻烦,所以还是想在Windows下写代码,在WSL2里运行

创建catkin_ws项目结构

在WSL2下命令行创建

# 创建目录
mkdir -p ~/catkin_ws/src
# 初始化空间
cd ~/catkin_ws/src
catkin_init_workspace
# 编译空间
cd ~/catkin_ws
catkin_make
# 配置环境变量,可以将这句话写入~/.bashrc内
source ~/catkin_ws/devel/setup.bash

# 创建项目
cd ~/catkin_ws/src
# 我这里创建了dynamic_map项目,依赖了roscpp&std_msgs
catkin_create_pkg dynamic_map roscpp std_msgs

Windows下配置CLion

  1. 打开项目下的CMakeLists.txt,如:~/catkin_ws/src/dynamic_map/CMakeLists.txt,而非src下的,~/catkin_ws/src/CMakeLists.txt 是一个软链接,windows下无法查看,当然也可以直接copy过来,不过也没啥必要,只要打开项目下的CMakeLists.txt就行了

  2. 配置wsl的工具链


  3. 配置CMake环境

  • Toolchain选择WSL

  • CMake options:-DCATKIN_DEVEL_PREFIX=/mnt/e/catkin_ws/devel -DCMAKE_PREFIX_PATH=/mnt/e/catkin_ws/devel -DCMAKE_PREFIX_PATH=/opt/ros/melodic -DPYTHON_EXECUTABLE=/usr/bin/python
    /opt/ros/melodic为你安装ros的目录
    /mnt/e/catkin_ws/为你当前项目的catkin目录
    /usr/bin/python为你catkin使用的python版本
    这些环境变量都可以通过catkin_make来获取,可以对比下cmake和catkin_make哪个环境变量不对就添加哪个

  • Build directory: ../build

配置完后可以重新cmake了,理论不会报错了


  1. 配置运行环境
  • 创建一个CMake Application
  • Target和Executable选择你的可执行Target
  • Environment variables增加LD_LIBRARY_PATH,可以在WSL2命令行里查看echo $LD_LIBRARY_PATH
    我的系统是:LD_LIBRARY_PATH=/mnt/e/catkin_ws/devel/lib:/opt/ros/melodic/lib:/usr/local/cuda/lib64
  1. 开心享受windows上开发ros吧


你可能感兴趣的:(Windows11 + CLion + WSL2开发ROS)