2、ROS使用工作空间

来源:互联网 发布:唐凤 知乎 编辑:程序博客网 时间:2024/05/17 03:28

一、引言

本篇中,我们首先会展示catkin_make如何构建package,然后演示在不使用catkin_make的情况下手动构建,从而加深对catkin_make工作流程的理解。

二、使用catkin_make

1、使用catkin_make的典型工作流是这样的:

$ cd ~/catkin_ws/src/beginner_tutorials/src# 添加/编辑 源码$ cd ~/catkin_ws/src/beginner_tutorials# 更新 CMakeFiles.txt 使其与源码的更改同步$ cd ~/catkin_ws$ catkin_make -DCMAKE_BUILD_TYPE=Release 

可以看到的devel的目录结构如下:

devel/├── env.sh├── lib│   └── pkgconfig│       ├── beginner_tutorials.pc│       ├── newpack.pc│       └── turorials.pc├── setup.bash├── setup.sh├── _setup_util.py├── setup.zsh└── share    └── beginner_tutorials        └── cmake            ├── beginner_tutorialsConfig.cmake            └── beginner_tutorialsConfig-version.cmak

这将在构建空间(~/catkin_ws/build)中构建源码空间 (~/catkin_ws/src)中的任何package。源代码将保留在源码空间(~/catkin_ws/src)中,而库文件、可执行文件等由源代码生成的文件将被放置在构建空间(~/catkin_ws/build)中。

如果想要像使用make命令一样使用参数,你需要这样使用catkin_make:

$ cd ~/catkin_ws$ catkin_make install

这等价于:

cd ~/catkin_ws/build && make install

这将会创建一个’install’文件夹,且包含自己的setup.*sh文件,执行其中之一,当前的环境会由devel空间替换为install空间。

注意,只能使用install空间和devel空间之一。

二者优劣比较:

  • 使用devel空间,不必每次都执行install,这在使用python和运行测试时很有意义。
  • 使用install空间,则可以方便的发布package和及将package安装到系统。

使用参数将写好的package安装到系统:

# This is an example$ cd ~/catkin_ws$ catkin_make install -DCMAKE_INSTALL_PREFIX=/opt/ros/groovy  # might need sudo

2、添加包到工作空间

使用如下命令在已编译过的工作空间中添加新的package:

$ catkin_make --force-cmake

如果想查看catkin_make的具体调用的命令,使用如下参数:

$ catkin_make -DCMAKE_VERBOSE_MAKEFILE=ON

三、不使用catkin_make构建

留待后续课程深入。

0 0
原创粉丝点击