【ROS2系统】colcon编译器的使用 (持续更新ing)

news/2025/2/22 11:18:02

colcon编译器

参考链接:https://www.rstk.cn/news/33292.html?action=onClick
指令教学:https://blog.csdn.net/u014603518/article/details/127717928

基础指令colcon build

参数及效果

无参数

colcon build : 编译子环境下的全部ROS2项目+依赖

--packages系列:只对指定包编译

--packages-up-to

colcon build --packages-up-to 【包文件名称】 编译单个包(带依赖)

比如 pkg_a 调用了 pkg_b, 那么在执行colcon build --packages-up-to pkg_a的时候,会将两个包同时编译。

如果有多个包,名称之间用空格分隔

--packages-select

colcon build --packages-select 【包文件名称】 编译单个包(不带依赖)

比如 pkg_a 调用了 pkg_b, 那么在执行colcon build --packages-up-to pkg_a的时候,会只编译pkg_a。

如果有多个包,名称之间用空格分隔

packages-ignore

colcon build --packages-ignore 【包文件名称】 编译除了指定包以外的全部

如果有多个包,名称之间用空格分隔

--cmake系列

--cmake-clean-cache

colcon build --cmake-clean-cache 清除已有的编译缓存。

编译完成后会生成三个文件夹install, build, log。 如果不加--cmake-clean-cache参数,系统如果发现在三个文件夹中有相关包的信息,则会跳过这个包的重新编译。

--cmake-args

该参数用于设置使用的cmake的参数信息

e.g.
colcon build \ --cmake-args \ -DCMAKE_CXX_STANDARD=17 \
将colcon编译器使用的cmake中的参数设置为:使用C++17标准

install相关

--symlink-install 链接安装

直接colcon build时,相当于将src中的代码文件复制install文件夹中,这样会浪费内存空间

colcon build --symlink-install,则会将复制行为换成链接,即install文件夹中的文件都会链接到原文件。

--merge-install 合并安装

http://www.niftyadmin.cn/n/5168724.html

相关文章

xposed hook的用法,原理是什么,做个比喻你就懂了

在当今数字化的时代,移动应用的使用已经成为我们日常生活的重要组成部分。然而,有时候我们可能希望对某些应用进行一些个性化的定制,而Xposed Framework就提供了这样一种可能性。本文将深入探讨Xposed Hook的用法和原理,同时通过生…

Redis6的IO多线程分析

性能测试 机器配置 C Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 14 On-line CPU(s) list: 0-13 Mem: 62G性能 配置推荐 官方表示,当使用redis时有性能瓶…

HCIP---eth-trunk-链路聚合

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.链路聚合技术概述 链路聚合技术是一种将多个物理或逻辑链路组合成一个高速、高可靠性的单一链路的技术。它通过同时使用多个物理或逻辑链路,从而提高网络带宽和可靠性&#xff0c…

归并分治 笔记

归并分治 前置知识:讲解021-归并排序 原理: (1)思考一个问题在大范围上的答案,是否等于,左部分的答案 右部分的答案 跨越左右产生的答案(2)计算“跨越左右产生的答案”时,如果加上左、右各自…

“三位一体”超级混沌工程主要特点及功能

“三位一体”超级混沌工程X-Chaos主要包括基础故障编排、业务场景故障编排、演练场景编排、故障库管理、演练场景管理、演练计划管理、演练观测和演练报告等模块,支持对传统架构、云环境以及国产化基础环境的IT系统进行故障演练。本文将介绍混沌工程主要特点及主要功…

MySQL50题

MySQL50题练习 建表语句: – 学生表CREATE TABLE Student(s_id VARCHAR(20),s_name VARCHAR(20) NOT NULL DEFAULT ,s_birth VARCHAR(20) NOT NULL DEFAULT ,s_sex VARCHAR(10) NOT NULL DEFAULT ,PRIMARY KEY(s_id));– 课程表CREATE TABLE Course(c_id VARCHAR(…

Django中如何让DRF的接口针对前后台返回不同的字段

在Django中,使用Django Rest Framework(DRF)时,可以通过序列化器(Serializer)和视图(View)的组合来实现前后台返回不同的字段。这通常是因为前后台对数据的需求不同,或者…

Linux学习第38天:Linux I2C 驱动实验(二):哥俩好

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 本节笔记主要学习I2C设备驱动编写及硬件原理图分析。 先把整个本节的思维导图贴出来: 二、I.MX6U的I2C适配器驱动分析 适配器驱动一般都是由SOC厂商提…