COLCON BUILD

COLCON BUILD 常用指令

创建符号连接,每次调整 launch文件时都不必重新build,如果install的文件需要拷贝到另外的机器使用,不要使用这个参数,否则会找不到源文件。
colcon build --symlink-install

编译一个单独的包,但这个指令并不会编译该包的依赖,往往会报错。
colcon build --packages-select <name-of-pkg>

编译一个单独的包和其依赖编译
colcon build --packages-up-to <name-of-pkg>

编译时忽略指定包
colcon build --packages-ignore <name-of-pkg>

编译开启Debug模式
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Debug

编译开启Release模式
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

编译一个package 并且把log 显示在屏幕上
colcon build --packages-select rmw_coredds_shared_cpp --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Debug --event-handlers=console_direct+

设置编译优化等级
colcon build --packages-select examples_rclcpp_minimal_action_client --symlink-install --cmake-args -DCMAKE_CXX_FLAGS='-o0 -ggdb' -DCMAKE_C_FLAGS='-o0 -ggdb'

colcon build --cmake-args -DCMAKE_CXX_FLAGS="-O2 -g -Wall "
“-D” --宏定义,每定义一个就在前边加上"-D",给gcc传递参数,-g debug选项, gdb模式,符号表会保存,-s link选项,删除符号表,这一步会极大减少文件体积。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.youkuaiyun.com/weixin_53421434/article/details/135483733

### Colcon Build 使用指南 `colcon build` 是用于构建 ROS 2 工作空间的工具,提供了灵活的选项以满足不同的开发需求。以下是关于 `colcon build` 的使用说明以及常见的问题及其解决方法。 #### 基本语法 基本的 `colcon build` 命令如下所示: ```bash colcon build [options] ``` 其中 `[options]` 可以指定各种参数来控制构建行为。例如: - `--packages-select`: 构建特定的包。 - `--event-handlers console_cohesion+`: 提供更简洁的日志输出[^1]。 - `--symlink-install`: 创建符号链接而不是复制文件到安装目录[^1]。 #### 配置 CMake 参数 如果需要传递额外的 CMake 参数给构建过程,可以通过 `--cmake-args` 来实现。例如,在构建时指定 Python 解释器版本: ```bash colcon build --cmake-args -DPYTHON_EXECUTABLE=$(which python3) ``` 对于依赖库的位置,也可以通过这种方式指定路径。比如当构建过程中无法找到 ViSP 库时,可以手动设置其位置: ```bash colcon build --symlink-install --cmake-args -DVISP_DIR=/path/to/visp/build/ ``` 这一步骤能够有效解决因环境变量未配置而导致的构建失败问题[^2]。 #### 并行构建优化 为了加速构建过程,可以利用多核处理器并行处理多个包。默认情况下,`colcon build` 会自动检测 CPU 核心数并分配任务。如果希望显式定义并发数量,则可使用以下命令: ```bash colcon build --parallel-workers N ``` 这里 `N` 表示期望使用的线程数目。 #### 清理旧数据 有时之前的编译残留可能引发新的错误,因此建议定期清理之前的结果再重新尝试构建: ```bash rm -rf install/ log/ build/ colcon build ``` #### 常见问题及解决办法 1. **缺少依赖项** 如果在运行 `colcon build` 过程中提示某些依赖缺失,请先确认这些依赖已被正确安装。针对 ROS 2 系统而言,通常可通过 APT 或 Conda 获取所需资源;而对于第三方库(如ViSP),则需遵循对应项目的官方指导完成部署[^2]。 2. **权限不足** 当操作涉及系统级目录而当前用户不具备相应权利时会出现此类状况。推荐做法是以普通身份执行所有动作而非借助超级管理员特权以免污染全局环境。 3. **交叉平台兼容性** 不同操作系统间可能存在细微差异影响正常流程。务必参照目标平台专属教程调整策略[^1]。 --- ### 示例脚本 下面提供一段完整的自动化脚本来演示如何初始化一个新的 ROS 2 工作区并调用 `colcon build` 执行初步组装作业: ```bash #!/bin/bash # Step 1: Create workspace structure mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/ # Optional step (if cloning a package is necessary): git clone https://github.com/example-repo/package_name.git src/ # Step 2: Perform the actual building process with custom settings. source /opt/ros/<distro>/setup.bash colcon build \ --symlink-install \ --cmake-args "-DCMAKE_BUILD_TYPE=Release" "-DBUILD_TESTING=False" echo "Build completed successfully!" ``` > 注:请记得替换 `<distro>` 成实际使用的发行版名称,像 foxy、humble 等。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值