package.xml 的版本说明

<package format="2"></package>

每一个 package.xml 都以作为 root 标签,其中 format 代表版本,现在主要是版本 2 为主,与版本 1 之间的差别主要是一些子标签,

package.xml 的必备标签

name:功能包名

version:版本号。版本号格式:MAJOR.MINOR.PATCH

image

description:功能包的描述

maintainer:功能包的主要维护者

license:功能包的许可证

<package format="2"><name>foo_core</name><version>1.2.4</version><description>This package provides foo capability.</description><maintainer email="ivana@osrf.org">Ivana Bildbotz</maintainer><license>BSD</license>
</package>

依赖项标签

buildtool_depend:指定此包构建自身所需的构建系统工具。

一个功能包至少需要一个buildtool_depend,通常值是catkin。

在交叉编译场景中,执行编译的体系结构相关.

depend:指定依赖项是构建、导出和执行依赖项

depend = build_depend + build_export_depend + exec_depend

build_depend:指定了构建此包所需的软件包

在CMakeLists.txt中使用find_package()寻找的包,需要在这里进行添加

build_export_depend:构建此包所需的库所需的包

当暴露一些头文件给下游时,并且该功能包的头文件还依赖了一些其他库的头文件的时候,需要使用该标签显式传递给下游功能包

exec_depend:运行此包中的代码需要哪些包

运行时需要的三方库或者其他功能包

test_depend:指定单元测试的附加依赖项

doc_depend:指定此包生成文档所需的文档工具

<package format="2"><name>foo_core</name><version>1.2.4</version><description>This package provides foo capability.</description><maintainer email="ivana@osrf.org">Ivana Bildbotz</maintainer><license>BSD</license><buildtool_depend>catkin</buildtool_depend>
</package>

metapackage

当标识该功能包时一个meta包时,除必须的标签外,还需要
下述标签

 <export><metapackage /></export>

metapackage对应的CMakeLists.txt,

cmake_minimum_required(VERSION 2.8.3)
project(<PACKAGE_NAME>)
find_package(catkin REQUIRED)
catkin_metapackage()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/94738.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/94738.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/94738.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA【抽象类】和【接口】

在面向对象编程中&#xff0c;接口&#xff08;Interface&#xff09;和抽象类&#xff08;Abstract Class&#xff09;都是用于实现抽象化的机制&#xff0c;但它们在设计目的、语法规则和使用场景上有显著区别。以下是它们的核心区别&#xff1a; 1. 定义与关键字接口&#x…

Mysql系列--11、使用c/c++访问mysql服务

目录 一、准备 测试 二、创建对象 三、连接Mysql服务 四、下达指令 3.1增删改 增加 编码格式 删除 修改 3.2查询结果 结构体理解 打印属性 打印数据 前面我们已经学习并练习了本地命令行形式的sql语句的使用&#xff0c;可在以后开发中我们一般 不会直接命令行操作数据库&…

CS144 lab3 tcp_sender

0. 前言 这个实验做了挺久的&#xff0c;刚开始做的时候官方的代码库还是开着的。 调着调着代码官方把仓库给删掉了&#xff0c;又去找别人的代码仓库调发现不 对都打算放弃了&#xff0c;过了几天发现了一个start-code的库 再合进去简直完美。这个实验花的时间应该是前四个里面…

华为HCIP数通学习与认证解析!

大家好&#xff0c;这里是G-LAB IT实验室。在信息技术飞速发展的今天&#xff0c;随着华为产品和服务的广泛应用&#xff0c;成为一名华为数通工程师无疑是许多年轻从业者的目标。然而&#xff0c;对于许多人来说&#xff0c;面对令人眼花缭乱的华为认证体系&#xff0c;不禁要…

深度学习入门Day10:深度强化学习原理与实战全解析

一、开篇&#xff1a;智能决策的科学与艺术在前九天的学习中&#xff0c;我们掌握了处理各种数据类型的深度学习方法&#xff0c;但这些都属于"被动学习"——模型从静态数据中学习模式。今天&#xff0c;我们将进入一个全新的领域&#xff1a;强化学习&#xff08;Re…

Jenkins Pipeline(二)-设置Docker Agent

设计流水线的目的是更方便地使用 Docker镜像作为单个 Stage或整个流水线的执行环境。 1.安装必要插件 在Jenkins服务器上已经安装了插件。 Docker PipelinePipeline Maven IntegrationPipeline Maven Plugin API 如果插件缺少什么&#xff0c;再次检查并安装即可。 2. 配…

神经网络|(十六)概率论基础知识-伽马函数·中

【1】引言 前序学习进程中&#xff0c;已经初步了解了伽马函数&#xff0c;认识到nnn的阶乘计算可以转化为&#xff1a; n!n!⋅limk→∞kn⋅k!(nk)!limk→∞kn⋅k!⋅n!(nk)!limk→∞kn⋅k!(n1)(n2)...(nk)n!n! \cdot lim_{k\rightarrow\infty}\frac{k^n\cdot k!}{(nk)!}\\lim_…

设计模式Books Reading

文章目录 设计模式 创建型设计模式 工厂方法 示例说明 工厂方法模式结构 案例伪代码 工厂方法模式适合应用 实现方式 工厂方法模式优缺点 与其他模式的关系 概念示例 抽象工厂 抽象工厂模式结构 抽象工厂模式适合应用场景 实现方式 抽象工厂模式优缺点 与其他模式的关系 代码示…

接吻数问题:从球体堆叠到高维空间的数学奥秘

本文由「大千AI助手」原创发布&#xff0c;专注用真话讲AI&#xff0c;回归技术本质。拒绝神话或妖魔化。搜索「大千AI助手」关注我&#xff0c;一起撕掉过度包装&#xff0c;学习真实的AI技术&#xff01; 1 接吻数问题概述 接吻数问题&#xff08;Kissing Number Problem&am…

深度学习③【卷积神经网络(CNN)详解:从卷积核到特征提取的视觉革命(概念篇)】

文章目录先言1. 卷积核&#xff1a;特征检测的魔法窗口1.1什么是卷积核&#xff1a;可学习的特征检测器1.2可视化理解&#xff1a;边缘检测、纹理提取、特征发现1.3代码实现&#xff1a;使用PyTorch定义和初始化卷积层2. 卷积运算的数学原理2.1.离散卷积计算&#xff1a;滑动窗…

当不想安装telnet或nc时,可使用 Linux 系统默认自带的bash原生网络功能或ping(辅助判断)测试连通性

1. 用bash原生/dev/tcp测试端口&#xff08;无需任何工具&#xff09;bashshell 内置了/dev/tcp虚拟设备&#xff0c;可直接通过脚本测试端口是否能连接&#xff0c;执行以下命令&#xff08;替换数据库 IP 和端口&#xff09;&#xff1a;# 格式&#xff1a;echo > /dev/tc…

【STM32外设】ADC

声明&#xff1a;上图是STM32产品型号各字段含义&#xff0c;本文基于STM32F103 1、ADC的一些概念 常规通道(常规组)和注入通道(注入组)&#xff08;regular channels and injected channels&#xff09;ADC支持的外部通道总共16个&#xff08;且被3个ADC共享&#xff0c;ADC12…

Aha Moment——啊哈时刻!

1. 理解面试官的意图面试官问你“Aha moment”&#xff0c;其实是想知道&#xff1a;你是否真正理解这个概念&#xff1a;不只是背定义&#xff0c;而是理解其为什么重要。你如何发现它&#xff1a;考察你的数据分析方法论和技术能力&#xff08;用了哪些数据、指标、模型&…

RAG教程5:多表示索引和ColBERT

文章目录 导入依赖包 多表示索引 ColBERT 导入依赖包 %pip install youtube-transcript-api pytube多表示索引 from langchain_community.document_loaders import WebBaseLoader from langchain_text_splitters import RecursiveCharacterTextSplitterloader = WebBaseL

来自火山引擎的 MCP 安全授权新范式

资料来源&#xff1a;火山引擎-开发者社区 本文旨在深入剖析火山引擎 Model Context Protocol (MCP) 开放生态下的 OAuth 授权安全挑战&#xff0c;并系统阐述火山引擎为此构建的多层次、纵深防御安全方案。面对由 OAuth 2.0 动态客户端注册带来的灵活性与潜在风险&#xff0c;…

瑞芯微RK3506开发板PWM输入捕获驱动调试记录

本文演示PWM输入信号采集&#xff0c;基于触觉智能RK3506开发板。配置为&#xff1a; 3核Cortex-A7Cortex-M0多核异构处理器 主要接口&#xff1a;2路CAN FD&#xff0c;5路串口&#xff0c;RGB、MIPI、音频、USB2.0 OTG等、板载双百兆网口4G星闪SLEWiFi6BLE5.2。 PWM信号简…

PHP的header()函数分析

PHP的header()函数是HTTP协议交互的核心工具&#xff0c;它通过直接操纵响应头实现服务器与客户端之间的元数据通信。作为PHP原生函数&#xff0c;其设计初衷是处理HTTP协议层的关键操作&#xff0c;包括状态码设置、内容类型声明和缓存控制等基础功能。在Web开发中&#xff0c…

根据并发和响应延迟,实现语音识别接口自动切换需求

根据并发和响应延迟&#xff0c;语音识别接口自动 切换需求 需求描述&#xff1a; 当请求的语音识别的请求数量大于3或者请求语音识别接口3秒不可达无响应&#xff0c;切换备用语音识别接口 科大讯飞语音识别作为备用接口 科大讯飞的API文档: 进入讯飞开放平台的网页&#…

程序员之电工基础-CV程序解决目标检测

一、背景 兴趣爱好来了&#xff0c;决定研发一个产品。涉及到电工和机械等知识&#xff0c;所以记录一下相关的基础知识。今天的内容又回到了我的主营板块&#xff01;&#xff01;哈哈&#xff01;&#xff01;为后续整体集成做准备&#xff0c;先测试目标检测部分的能力。 二…

B树的概述以及插入逻辑

一&#xff0c;B树的概述1.B树(B-树)又称多路平衡查找树&#xff0c;B树所有节点中孩子数量的最大值n称为B树的阶&#xff0c;通常用m表示比如当m为2就是常见的二叉树一颗m阶的B树定义如下&#xff1a;1)每个结点最多有m-1个关键字&#xff1b;2)根节点最少可以只有1个关键字;3…