ros2 colcon build 构建后,install中的local_setup.bash 和setup.bash有什么区别

  1. 功能概述
    • 在 ROS2 中,colcon build是用于构建软件包的工具。构建完成后会生成install文件夹,其中的setup.bashlocal_setup.bash文件都与环境设置相关,但存在一些区别。
  2. setup.bash
    • 作用范围
      • setup.bash文件用于设置整个工作空间的环境变量。当你在终端中执行. /install/setup.bash(假设install文件夹是构建结果所在的文件夹)时,它会将工作空间中的所有包(包括其可执行文件路径、库路径、Python 模块路径等)添加到环境变量中,使得系统能够找到这些资源。
    • 使用场景
      • 如果你的工作空间包含多个相互关联的 ROS2 包,并且你希望一次性设置好整个工作空间的环境,以便能够运行其中的各种节点、工具等,就可以使用setup.bash。例如,如果你有一个包含传感器驱动包、数据处理包和控制算法包的工作空间,执行setup.bash后就可以在这个工作空间内方便地运行不同包提供的功能。
  3. local_setup.bash
    • 作用范围
      • local_setup.bash主要关注当前构建的包或者当前目录下的包的环境设置。它只会将与当前包直接相关的环境变量添加到环境中。相对setup.bash来说,它的设置更加局部化。
    • 使用场景
      • 当你只想针对当前构建的某个特定包进行测试或者开发时,可以使用local_setup.bash。例如,你刚刚修改并重新构建了一个特定的 ROS2 包,只需要这个包相关的环境设置来进行单独的测试,此时local_setup.bash就很有用。它可以避免将整个工作空间的环境变量都设置进来,减少潜在的环境冲突,并且在某些情况下可以提高环境设置的速度。
相关推荐
阿贵---44 分钟前
C++中的RAII技术深入
开发语言·c++·算法
Traced back1 小时前
怎么用 Modbus 让两个设备互相通信**,包含硬件接线、协议原理、读写步骤,以及 C# 实操示例。
开发语言·c#
PiKaMouse.1 小时前
navigation2-humble从零带读笔记第一篇:nav2_core
c++·算法·机器人
娇娇yyyyyy2 小时前
QT编程(17): Qt 实现自定义列表模型
开发语言·qt
ms_27_data_develop2 小时前
Java枚举类、异常、常用类
java·开发语言
add45a3 小时前
C++编译期数据结构
开发语言·c++·算法
岁岁种桃花儿3 小时前
AI超级智能开发系列从入门到上天第四篇:AI应用方案设计
java·服务器·开发语言
Amnesia0_03 小时前
C++中的IO流
开发语言·c++
2401_891482173 小时前
C++模块化编程指南
开发语言·c++·算法