ubuntu20.04配置clion开发ROS2的环境

ubuntu20.04 配置clion开发ROS2

使用vscode开发ros2时老是出现误报错,因此换到clion进行ros2的开发,用这篇博客记录一下

0,前置任务

1,安装ros2:略

2,安装ninja:sudo apt-get install ninja-build

1,创建新的工作区并导航到该目录

mkdir dev_ws
cd dev_ws
mkdir src
cd src

创建示例功能包(应当创建节点,否则无法生成compile_commands.json文件,不知道为什么)

ros2 pkg create --build-type ament_cmake cpp_demo --dependencies rclcpp --node-name cpp01_demo

此时,我们有以下文件夹结构:

|_dev_ws
   |_src
      |_cpp01_demo
         |_include
         |_src
              cpp01_demo.cpp
           CMakeLists.txt
           package.xml

2,在终端中搭建工作空间并生成编译数据库

在 clion中打开dev_ws文件夹,在clion的终端中使用以下指令构建:

colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja --no-warn-unused-cli

生成完成后,请确保 dev_ws\build 包含compile_commands.json文件。

3,在 CLion 中打开工作区

在 CLion 中,调用 文件|打开,然后在build目录中选择compile_commands.json文件,作为项目打开。项目成功加载后如下所示:

在这里插入图片描述

4,更改项目根目录

默认情况下,CLions 将包含 compile_commands.json 文件的目录视为项目根目录。在我们的例子中,它是build目录。在“项目”树中,实际的源文件被标记为外部源文件。为了获得正确的项目结构,我们需要将项目根目录设置为实际的工作空间目录。在工具 |编译数据库 |更改项目根 并选择工作区目录(在本例中为 dev_ws)。

在这里插入图片描述

然后就可以使用clion开发ros2啦。
参考jetbrain官方文档


2024.4.7日更新

1,python包问题:当我使用python编写launch文件时,发现clion无法找到ros2的python软件包,如ros2launch等,可通过设置系统的python解释器的package搜索路径来解决,如下:
1,配置clion的python解释器

进入设置|构建,执行,部署|python解释器,点击“添加解释器”,“添加本地解释器”,再点击系统解释器,在右侧选择系统解释器的位置,将clion的python解释器配置为系统的python解释器

2,配置系统解释器的的package搜索路径

打开终端,输入

cd /usr/local/lib/python3.8/dist-packages

再创建一个.pth文件

sudo gedit filename.pth

在弹出的窗口中输入你ros的python软件包的路径,比如我的是:/opt/ros/foxy/lib/python3.8/site-packages
然后clion就可以找到ros的python软件包

2,添加新的cpp文件:

创建新的cpp文件并配置好cmake文件后,再次在终端中执行以下指令(在工作空间目录下),即可把该文件加入compile_commands.json中,可以使用alias为该指令设置别名来快捷输入

colcon build --event-handlers console_direct+ --cmake-args -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -G Ninja --no-warn-unused-cli
  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悠哉也

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值