ROS2 在VScode搭建c++的编译环境

前言

刚开始学习ros2的时候,大家可能在vscode写完节点代码后,会有一些提示或报错,不知道如何解决这些问题,很会影响接着往下学习的热情,所以这里我也翻看了大量的文章后,自己总结了一套从零到简单编写并运行一个节点的过程,希望对大家能够有所帮助。

一、创建工作空间

先打开终端,输入以下指令创建一个工作空间,以后所写的代码都会存放在以下工作空间下

这里的src就是未来放置所有功能包相关文件的位置。

mkdir -p ~/ros2_ws/src

 

然后进入到该工作空间下

cd ~/ros2_ws/src

 

 二、创建功能包

再在此src代码空间下建立一个功能包

ros2 pkg create pkg_hello_cpp --build-type ament_cmake --dependencies rclcpp --node-name hellovscode

 然后在终端中先进入到ros2_ws这个工作空间下,输入code .直接在终端中打开vscode,可以培养我们对代码的理解与掌握

 在左侧我们就可以看到刚刚建立好的功能包

 三、编写一个节点并运行

1、输入代码

#include "rclcpp/rclcpp.hpp"

int main(int argc, char * argv[])

{

rclcpp::init(argc, argv);

auto node = rclcpp::Node::make_shared("helloword_node_cpp");

RCLCPP_INFO(node->get_logger(),"hello world");

rclcpp::shutdown();

return 0;

}

2、添加路径

这里将以下一个简单的试运行代码输进去,检测以下能否成功

大家在刚开的时候可能会出现引用的rclcpp库下出现红色波浪线的情况

不用慌,这个也并不影响我们的运行,但如果对这个比较在意的可以进入编译路径的地方,将rclcpp的库路径导入进去

这里我的路径很多是自动生成的,但是要将最主要的两个添进去

"${workspaceFolder}/**",

"/opt/ros/foxy/include/**",

3、编译功能包

按住ctrl+~建在vscode中打开终端,colcon build命令对功能包进行编译,在输入该命令前需要返回到工作空间目录下。
 

 

该命令会编译工作空间中的所有功能包,如果工程比较大,功能包比较多的时候,编译所有功能包会需要很长的时间,所有我们经常需要只编译工作空间中的一个功能包,可以使用以下命令来编译工作空间中的一个功能包colcon build --packages-select package_name

colcon build --packages-select pkg_hello_cpp

 编译完之后我们可以看到在工作空间目录下多了几个文件夹,install、log、build,这三个文件夹分别是用于存储编译后的执行文件、日志文件和编译的过程文件。

 

4、运行节点

检验以下是否代码正常运行有无报错

在运行之前先告诉编译器,我们要开始运行了,并将其位置告诉它

. install/setup.bash

 最后输入以下代码将此节点运行出来

ros2 run pkg_hello_cpp hellovscode

 

 

 最后,成功的将代码运行出来了

  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

努力的阿瑞

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

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

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

打赏作者

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

抵扣说明:

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

余额充值