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 包名 可执行文件 参数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/903036.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ClickHouse 5节点集群安装

ClickHouse 5节点集群安装 在此架构中&#xff0c;配置了五台服务器。其中两个用于托管数据副本。其他三台服务器用于协调数据的复制。在此示例中&#xff0c;我们将创建一个数据库和表&#xff0c;将使用 ReplicatedMergeTree 表引擎在两个数据节点之间复制该数据库和表。 官…

简单易用的Android主线程耗时检测类 MainThreadMonitor

适用场景 debug 本地测试 文章目录 代码类 MainThreadMonitor.java使用方式 Application的attachBaseContextlog输出示例 代码类 MainThreadMonitor.java public class MainThreadMonitor {private static final String TAG "MainThreadMonitor";private static Sc…

uniapp的IOS证书申请(测试和正式环境)及UDID配置流程

1.说明 本教程只提供uniapp在ios端的证书文件申请&#xff08;包含正式环境和开发环境&#xff09;、UDID配置说明&#xff0c;请勿用文档中的账号和其他隐私数据进行测试&#xff0c;请勿侵权&#xff01; 2.申请前准备 证书生成网站&#xff1a;苹果应用上传、解析&#x…

iOS Block 详解(Object-C)

Block 是苹果公司较晚推出的一个语法,与很多语法的闭包差不多意思 一:Block声明 PS:很多人学不好Block,大概率是被它的声明写法给吓到了,写法确实有点奇怪 返回值类型(^block变量名)(参数列表) 例如: int(^personBlock)(NSString *,int) 返回值类型(^block变量名)(参数列表…

iOS 18.2开发者预览版 Beta 1版本发布,欧盟允许卸载应用商店

苹果今天为开发人员推送了iOS 18.2开发者预览版 Beta 1版本 更新&#xff08;内部版本号&#xff1a;22C5109p&#xff09;&#xff0c;本次更新距离上次发布 Beta / RC 间隔 2 天。该版本仅适用于支持Apple Intelligence的设备&#xff0c;包括iPhone 15 Pro系列和iPhone 16系…

uniapp 中间tabbar的实现

UI 需求 &#xff1a; 有五个tabbr栏 &#xff0c;中间的按钮更大 &#xff0c;如图 &#xff1a; 说明 &#xff1a; 在tabbar中的list 配置 其他四个tabbar &#xff1a;首页 精华 社区 我的 1. 在page.json中配置 在tabbar中 &#xff0c;与list 平级 &#xff0c;设置按钮…

sa-token 所有的异常都是未登录异常的问题

在使用satoken的时候&#xff0c;有这么一个问题&#xff0c;就是不管我是什么错误&#xff0c;都会弹出未登录异常&#xff0c;起初的时候我以为satoken的拦截器会拦截所有的异常&#xff0c;但是今后测试才发现忽略了一点&#xff0c;也是最重要最容易忽视的一点。 如果我现在…

大模型产品经理岗位职责,大模型产品经理入门到精通, 收藏这篇就够了

1. 产品及公司介绍 产品&#xff1a;开源企业级LLMops&#xff08;大模型应用开发平台&#xff09;&#xff1a;毕昇BISHENG。7800 Github Star&#xff0c;被多名开发者评价为“目前见过功能最强大&#xff0c;最适合企业内落地的开源大模型应用开发平台”&#xff0c;已服务…

项目解决方案:在弱网(低带宽、高延迟、有丢包的网络)环境下建设视频监控平台的设计方案(上)

目录 一、需求分析 1、业务需求分析 &#xff08;1&#xff09;提升用户体验 &#xff08;2&#xff09;降低带宽消耗 &#xff08;3&#xff09;增强适应性 2、功能需求分析 &#xff08;1&#xff09;视频汇聚联网 &#xff08;2&#xff09;分辨率转换 &#xff08;3&#…

AI Weekly3:过去一周重要的AI资讯汇总

本周&#xff0c;人工智能领域的发展势头依旧迅猛&#xff0c;不断突破界限。无论是自动驾驶技术的精进&#xff0c;AI模型的革新&#xff0c;还是AI在金融科技领域的广泛应用&#xff0c;每一项新成就都在昭示着人工智能正逐步融入我们日常生活的每一个角落。 &#x1f680;本…

轻松部署自己的AI聊天助手LocalGPT并实现无公网IP远程交互

文章目录 前言环境准备1. localGPT部署2. 启动和使用3. 安装cpolar 内网穿透4. 创建公网地址5. 公网地址访问6. 固定公网地址 前言 本文主要介绍如何本地部署LocalGPT并实现远程访问&#xff0c;由于localGPT只能通过本地局域网IP地址端口号的形式访问&#xff0c;实现远程访问…

新手入门c++(8)

到时候了&#xff0c;是时候给你们讲一下其他的定义形式与格式化输入输出了。 1.长整型变量 长整型变量分为两种&#xff1a; ①long类型 在计算机编程中&#xff0c;long 类型是一个整型数据类型&#xff0c;用于存储较大的整数。它的大小和范围取决于操作系统和编译器的实…

【不同开源基座大模型对比及领域落地的选型考虑】

Key Takeaways&#xff1a; 1、从数据、Tokenizer、模型架构对比不同qwen、deepseek、llama、yi等模型 对于开源大模型的数据和预处理来说&#xff0c;一般我们会关注如下的一些维度&#xff1b; 预训练数据&#xff1a;训练数据的数量、质量与多样性&#xff0c;是模型泛化能…

太阳能面板分割系统:训练自动化

太阳能面板分割系统源码&#xff06;数据集分享 [yolov8-seg-EfficientHead&#xff06;yolov8-seg-vanillanet等50全套改进创新点发刊_一键训练教程_Web前端展示] 1.研究背景与意义 项目参考ILSVRC ImageNet Large Scale Visual Recognition Challenge 项目来源AAAI Globa…

Qt6.7.2中使用OpenSSL的坑

最近编写Qt Quick项目&#xff0c;使用Qt6.7.2版本&#xff0c;CMAKE编译&#xff0c;开始QtCreator运行代码都没有问题&#xff0c;访问https也正常&#xff0c;但打出安装包后一试&#xff0c;发现https访问不了&#xff0c;尴尬&#xff01;&#xff01; 查看了相关日志发现…

Flutter登录界面使用主题

Now, let’s use the theme we initially created in our main function for a simple login screen: 现在&#xff0c;让我们使用最初在主函数中创建的主题来制作一个简单的登录屏幕&#xff1a; Create a Login Screen Widget: Inside the main.dartfile, create a new wid…

尚硅谷 | Nginx | 学习笔记

尚硅谷 | Nginx | 学习笔记 尚硅谷Nginx教程由浅入深&#xff08;一套打通丨初学者也可掌握&#xff09;_哔哩哔哩_bilibili 文章目录 尚硅谷 | Nginx | 学习笔记一、Nginx相关概念1.Nginx是什么2.正向代理和反向代理正向代理反向代理 3.负载均衡和动静分离负载均衡动静分离 二…

[论文阅读]Detecting Pretraining Data from Large Language Models

Detecting Pretraining Data from Large Language Models http://arxiv.org/abs/2310.16789 这篇文章正式提出了Min-k%方法来实现成员推理攻击 贡献 介绍了WIKIMIA动态基准测试。旨在定期自动评估任何新发布的预训练 LLMs。通过利用 Wikipedia 数据时间戳和模型发布日期&am…

C#与C++交互开发系列(十三):在C#中使用C++编写的DLL,导出类的完整指南

前言 在跨平台和跨语言开发中,C++ 和 C# 的互操作性可以帮助我们实现更灵活且高性能的解决方案。C++ DLL 可以封装高效的算法或硬件相关的代码,而在 C# 中调用这些功能则可以大大简化开发。然而,由于 C++ 和 C# 的底层实现不同,导出 C++ 类并在 C# 中使用并不简单。因此,…

精选:HR招聘管理工具Top5使用体验

作为企业招聘者&#xff0c;如何在选择中找到开启高效招聘之门的钥匙&#xff0c;成为了每一位企业招聘管理者必须面对的难题&#xff0c;在面对市场上琳琅满目的招聘工具&#xff0c;你是否也曾感到无头绪&#xff0c;不知所措&#xff1f;每个工具都声称自己拥有独特的优势和…