ROS学习(二)

📅 2026/7/4 13:44:49 👁️ 阅读次数 📝 编程学习
ROS学习(二)

colcon build

只编译指定功能包
参数作用命令示例
--packages-select只编译指定的包,不处理它们的依赖colcon build --packages-select <包名1> <包名2>
--packages-up-to编译指定的包及其依赖的包colcon build --packages-up-to <目标包名>
--packages-above编译依赖于指定包的包colcon build --packages-above <被依赖的包名>
--packages-skip编译跳过指定的包colcon build --packages-skip <要跳过的包名>

1 日常Python包开发:使用--symlink-install创建符号链接,这样修改Python脚本后无需重新编译即可生效

colcon build --packages-select <你的python包名> --symlink-install

2 跳过测试以加速编译:可通过CMake参数跳过测试环节(确定代码没问题),减少编译时间

colcon build --packages-select <包名> --cmake-args -DBUILD_TESTING=OFF

3 查看实时编译输出:当编译出错时,添加--event-handlers console_direct+可以将详细的编译信息直接打印到终端,方便定位问题

colcon build --packages-select <包名> --event-handlers console_direct+3

4 注意事项

依赖关系需提前处理:使用--packages-select时,确保所选包的所有依赖都在当前工作空间或系统的ROS2环境中,否则编译失败

理解依赖树--packages-up-to(“向上”寻找依赖) 和--packages-above(“向下”寻找被依赖者) 是处理复杂依赖关系的有力工具