编译程序包
-
一旦安装了所需的系统依赖项,我们就可以开始编译刚才创建的程序包了。
-
注意:如果你是通过apt或者其它软件包管理工具来安装ROS的,那么系统已经默认安装好所有依赖项。
-
记得事先源你的环境配置(设置)文件,在Ubuntu的中的操作指令如下:
$ source /opt/ros/groovy/setup.bash
使用catkin_make
- catkin_make是一个命令行工具,它简化了catkin的标准工作流程。
- 你可以认为catkin_make是在CMake标准工作流程中依次调用了cmake和make。
- 使用方法:
# 在catkin工作空间下
$ catkin_make [make_targets] [-DCMAKE_VARIABLES=...]
- CMake的标准工作流程主要可以分为以下几个步骤:
- 注意:如果你运行以下命令是无效的,因为它只是一个演示CMake工作流程的例子。
# 在一个CMake项目里
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make install # (可选)
为每个CMake项目运行此过程。
相比之下,catkin项目可以在工作空间中一起构建。在工作空间中构建零到多个catkin包遵循以下工作流程:
#在catkin工作区中
$ catkin_make
$ catkin_make install#(可选)
上面的命令将构建在src文件夹中找到的任何catkin项目。这符合REP128的建议。如果您的源代码位于不同的位置,比如my_src,那么您可以像这样调用catkin_make:
# In a catkin workspace
$ catkin_make --source my_src
$ catkin_make install --source my_src # (optionally)
有关catkin_make的更高级用法,请参阅文档:catkin / commands / catkin_make
开始编译你的程序包
- 对于正要马上编译自己代码的读者,请同时看一下后面的(C ++)/(Python)的教程
- 因为你可能需要修改的CMakeLists.txt文件。
- 按照之前的创建一个ROS程序包教程,你应该已经创建好了一个catkin工作空间和一个名为beginner_tutorials的catkin程序包。
- 现在切换到catkin workspace并查看src文件夹:
- 你可以看到一个名为beginner_tutorials的文件夹,这就是你在之前的catkin_create_pkg教程里创建的。
- 现在我们可以使用catkin_make来编译它了:
$ catkin_make
- catkin_make首先输出它所使用到的每个空间所在的路径。
- 更多关于空间的信息,请参考REP128和絮/工作区。
- 需要注意的是由于这些空间存在默认配置的原因,有几个文件夹已经在絮工作空间自动生成了,使用ls查看:
$ ls
- build目录是build space的默认所在位置,同时cmake和make也是在这里被调用来配置并编译你的程序包。
- devel目录是devel space的默认所在位置,同时也是在你安装程序包之前存放可执行文件和库文件的地方。
- 现在我们已成功编译了一个ROS程序包,接下来我们将介绍ROS节点。