一、引言
本篇中,我们首先会展示catkin_make如何构建package,然后演示在不使用catkin_make的情况下手动构建,从而加深对catkin_make工作流程的理解。
二、使用catkin_make
1、使用catkin_make的典型工作流是这样的:
1 | cd ~/catkin_ws/src/beginner_tutorials/src |
可以看到的devel的目录结构如下:
1 | devel/ |
这将在构建空间(~/catkin_ws/build)中构建源码空间 (~/catkin_ws/src)中的任何package。源代码将保留在源码空间(~/catkin_ws/src)中,而库文件、可执行文件等由源代码生成的文件将被放置在构建空间(~/catkin_ws/build)中。
如果想要像使用make命令一样使用参数,你需要这样使用catkin_make:
1 | cd ~/catkin_ws |
这等价于:
1 | cd ~/catkin_ws/build && make install |
这将会创建一个’install’文件夹,且包含自己的setup.*sh文件,执行其中之一,当前的环境会由devel空间替换为install空间。
注意,只能使用install空间和devel空间之一。
二者优劣比较:
- 使用devel空间,不必每次都执行install,这在使用python和运行测试时很有意义。
- 使用install空间,则可以方便的发布package和及将package安装到系统。
使用参数将写好的package安装到系统:1
2
3 This is an example
cd ~/catkin_ws
catkin_make install -DCMAKE_INSTALL_PREFIX=/opt/ros/groovy # might need sudo
2、添加包到工作空间
使用如下命令在已编译过的工作空间中添加新的package:
1 | $ catkin_make --force-cmake |
如果想查看catkin_make的具体调用的命令,使用如下参数:
1 | $ catkin_make -DCMAKE_VERBOSE_MAKEFILE=ON |
三、不使用catkin_make构建
留待后续课程深入。