ROS学习之catkin_make

本文详细介绍了catkin_make命令的使用方法,包括构建catkin workspace的基本步骤、如何指定或排除特定包进行编译,以及如何改变安装路径等内容。

cankin_make是一个命令行工具,它用来构建catkin workspace中的代码。

1 使用方法

cd ~/catkin_ws
catkin_make

以上命令等价于

cd ~/catkin_ws
cd src
catkin_init_workspace
cd ..
mkdir build
cd build
cmake ../src -DCMAKE_INSTALL_PREFIX=../install -DCATKIN_DEVEL_PREFIX=../devel
make

如果你是第一次构建工作空间,则会生成两个新的文件夹build和devel

build文件夹是cmake和make指令执行的地方

devel文件夹用来保存生成文件、目标的地方及用于安装的setup.*sh

2 参数

2.1 安装指定包

由于种种原因,也许有时我们只想编译一个包,则需要

catkin_make -DCATKIN_WHITELIST_PACKAGES="package1;package2"

这时,当你再次在工作空间中运行catkin_make,默认的只编译你之前指定的包。

2.2  取消安装指定包

如果你想编译所有包,则需要输入

catkin_make -DCATKIN_WHITELIST_PACKAGES=""

2.3 可以安装

cd ~/catkin_ws
catkin_make install

等价于以下指令

cd ~/catkin_ws/build
# If cmake hasn't already been called
cmake ../src -DCMAKE_INSTALL_PREFIX=../install -DCATKIN_DEVEL_PREFIX=../devel
make
make install

这时在你的工作空间中会有一个install文件夹。

2.4 改变安装位置

cd ~/catkin_ws
catkin_make -DCMAKE_INSTALL_PREFIX=/opt/ros/groovy install

当安装到这个位置时是有许可问题,通常的用户不允许安装/opt,所以你需要超级用户权限。

 

转载于:https://www.cnblogs.com/qixianyu/p/6605830.html

<think>我们正在讨论ROS2中构建系统的变更。在ROS1中,我们使用catkin_makecatkin build等命令来构建工作空间。然而,在ROS2中,构建系统已经转向使用colcon作为默认的构建工具。因此,用户询问ROS2中catkin_make的替代命令。 根据ROS2的设计,colcon是推荐的构建工具。它类似于catkin_make,但提供了更多的功能和更好的扩展性。因此,回答应该明确指出colcon是替代命令,并给出基本用法。 此外,用户可能还听说过ament,但注意ament是ROS2的构建系统底层工具集,而colcon是一个构建工具,它调用ament等工具来构建包。因此,直接使用的命令是colcon。 参考引用中提到了使用cmakemake来构建ROS工程,但在ROS2中,我们通常使用colcon,因为它可以处理多个包并解决依赖关系。虽然理论上可以使用cmakemake逐个构建每个包,但这在包含多个相互依赖包的ROS2工作空间中非常繁琐,因此不推荐。 因此,回答应重点介绍colcon。 同时,根据指令,需要生成相关问题。</think>### ROS2 中 `catkin_make` 的替代命令 在 ROS2 中,`catkin_make` 已被 **`colcon`** 工具取代。`colcon` 是专为 ROS2 设计的构建系统,支持多包并行编译和依赖管理,其基本用法与 `catkin_make` 类似但更灵活高效。 #### 核心命令对比 | ROS1 命令 | ROS2 等效命令 | 功能说明 | |-------------------------|-----------------------------|----------------------------| | `catkin_make` | `colcon build` | 构建整个工作空间 | | `catkin_make install` | `colcon build --symlink-install` | 创建符号链接避免重复复制文件 | | `catkin_make -DCMAKE_BUILD_TYPE=Release` | `colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release` | 传递 CMake 参数 | #### 典型操作流程 1. **创建工作空间** ```bash mkdir -p ~/ros2_ws/src cd ~/ros2_ws ``` 2. **放入 ROS2 包** 将包源码放入 `src` 目录(如通过 `git clone`)。 3. **安装依赖** ```bash sudo apt update rosdep update rosdep install --from-paths src --ignore-src -y # 自动安装依赖项 ``` 4. **构建工作空间** ```bash colcon build # 基础构建 # 常用选项: # --symlink-install : 节省磁盘空间 # --packages-select <包名> : 仅构建指定包 # --event-handlers console_direct+ : 显示详细编译日志 ``` 5. **加载环境变量** ```bash source install/local_setup.bash # 激活当前工作空间 ``` #### 关键优势 - **增量编译**:仅重新编译修改过的包,大幅提升效率。 - **依赖隔离**:通过 `--packages-ignore` 可跳过特定包的构建。 - **扩展性**:支持添加测试参数(如 `--cmake-args -DBUILD_TESTING=ON`)。 > **注意**:若需兼容 ROS1 包,可结合 `colcon` 与 `catkin` 工具链,但需额外配置[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值