1 环境配置、创建功能包、编译、Cmake文件及package文件学习笔记

1 基本结构

放张 赵虚左老师的pdf截图

2 环境配置

复制代码
//每次都需配置
. install/setup.bash

//或者一次配置

echo "source /path/to/your/workspace_name/install/setup.bash" >> ~/.bashrc

source ~/.bashrc

3 创建功能包

复制代码
ros2 pkg create 包名--build-type 构建类型--dependencies 依赖列表--node-name 可执行程序名
称

--build-type:是指功能包的构建类型,有cmake、ament_cmake、ament_python 三种类 型可选;

--dependencies:所依赖的功能包列表;

--node-name:可执行程序的名称,会自动生成对应的源文件并生成配置文件。

4 编译

复制代码
//全局编译
colcon build

//单独编译某一个包
colcon build --packages-select 包名

5 CmakeList.txt文件自己添加代码主要说明

(1)找包

复制代码
find_package(库名 REQUIRED)

(2)生成可执行文件

复制代码
add_executable(生成的可执行文件名 src/cpp文件1 src/cpp文件2 ...)

说明:这条指令是根据cpp1和cpp2....生成对应的可执行文件

(3)链接库

复制代码
ament_target_dependencies(
可执行文件名
"库名1"
"库名2"
..
)

(4)指定生成的可执行文件的安装目录

复制代码
install(TARGETS
可执行文件名
DESTINATION lib/${PROJECT_NAME})

6 package.xml文件说明

主要就是看依赖的库有没有少,少了就根据报错加

复制代码
<depend>依赖的库</depend><depend>

7 运行

复制代码
ros2 run 包名 可执行文件 参数
相关推荐
果壳science1 分钟前
关于光子、量子猜想
笔记·科技·学习·创业创新·学习方法
愤怒火龙果18 分钟前
蓝队笔记整理01 C2 远控与 Webshell 流量特征
笔记·网络安全
小弥儿23 分钟前
GitHub今日热榜 | 2026-10-22:智能体工具退潮,基础层集中上新
学习·开源·github
丑梨数据37 分钟前
法律合同知识库怎么搭:从图片压缩到私有化 RAG 的工程笔记
开发语言·笔记·c#
江屿风40 分钟前
【Plain Language Large Model】【大语言模型底层原理全解析:从Token生成到智能体演进】流食般投喂
人工智能·笔记·语言模型·llm·json·token·聊天模板
Z21-X1 小时前
云原生运维学习笔记:揭开虚拟化的硬核面纱,从底层架构到KVM实战
运维·笔记·学习·云原生
深圳老胡1 小时前
STM32C5A3ZG开发板:基于STM32CubeMX与VSCode的按键检测与LED闪烁实战
笔记·stm32·单片机·代码规范
天疆说1 小时前
DeepSeek 开源学习中心公开课调研笔记
笔记·学习·开源
艾莉丝努力练剑2 小时前
【AI大模型接入SDK】ChatServer 路由规则绑定
网络·c++·人工智能·学习·ai·架构