文章目录

  • 1 准备工作
  • 2 使用catkin_make
  • 3 编译一个package

1 准备工作

在所有的系统依赖项都安装好之后,就可以编译一个新的package了。

注意:如果是使用apt方式安装的话,所有的依赖项会被自动安装好。

在编译之前,一定要刷新一下环境。

标准用法:

$ source /opt/ros/%YOUR_ROS_DISTRO%/setup.bash

例如在ubuntu下:

$ source /opt/ros/kinetic/setup.bash

2 使用catkin_make

在一个标准的catkin工作环境中,catkin_make是一个快捷的编译命令。你可以理解为catkin_make结合了cmakemake命令。

标准用法:

# In a catkin workspace
$ catkin_make [make_targets] [-DCMAKE_VARIABLES=...]

对比一下CMake的工作模式:

注意:这样子,是不会成功编译的!

# In a CMake project
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make install  # (optionally)

而catkin可以一下子同时编译许多项目:

# In a catkin workspace
$ catkin_make
$ catkin_make install  # (optionally)

这个命令可以编译src文件下所有的catkin项目。

相应的,也可以编译某个特定目录下的项目文件,假定项目代码存放在my_src目录下:

# In a catkin workspace
$ catkin_make --source my_src
$ catkin_make install --source my_src   # (optionally)

3 编译一个package

如果你按照之前的方式创建了一个beginner_tutuorials的package,使用了catkin_creat_pkg命令,那么在src文件下应该是这样:

$ cd ~/catkin_ws/
$ ls src
# echo
beginner_tutorials  CMakeLists.txt

接着使用catkin_make命令编译:

$ catkin_make

会出现类似于这样的:

Base path: /home/lk/catkin_ws/catkin_ws
Source space: /home/lk/catkin_ws/catkin_ws/src
Build space: /home/lk/catkin_ws/catkin_ws/build
Devel space: /home/lk/catkin_ws/catkin_ws/devel
Install space: /home/lk/catkin_ws/catkin_ws/install
####
#### Running command: "make cmake_check_build_system" in "/home/lk/catkin_ws/catkin_ws/build"
####
####
#### Running command: "make -j4 -l4" in "/home/lk/catkin_ws/catkin_ws/build"
####

这时候,catkin的工作空间里产生了许多文件夹,使用ls命令来查看:

$ ls
# echo
build  devel  src

ROS学习笔记4(编译一个ROS Package)相关推荐

  1. ROS学习笔记三:创建ROS软件包

    ,# ROS学习笔记三:创建ROS软件包 catkin软件包的组成 一个软件包必须满足如下条件才能被称之为catkin软件包: 这个软件包必须包含一个catkin编译文件package.xml(man ...

  2. ROS学习笔记八:创建ROS msg和srv

    ROS学习笔记八:创建ROS msg和srv 本节主要讲述了如何创建和建立ROS msg和srv,同时使用命令行工具rosmsg.rossrv和roscp. msg和srv简介 msg:描述ROS m ...

  3. ROS学习笔记二:探索ROS文件系统

    ROS学习笔记二:探索ROS文件系统 ROS针对自己文件的特性,具有一些自己的工具命令,当针对ROS文件进行操作的时候是非常方便的.这些命令和ubuntu系统原有的命令相似但却不同,单独针对ROS文件 ...

  4. ROS学习笔记六:理解ROS服务和参数

    ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...

  5. ROS学习笔记五:理解ROS topics

    ROS学习笔记五:理解ROS topics 本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具. 例子展示 roscore 首先运行roscore系列服务,这是使用R ...

  6. ROS学习笔记四:理解ROS节点

    ROS学习笔记四:理解ROS节点 本节主要介绍ROS图形概念,讨论ROS命令行工具roscore.rosnode和rosrun. 要求 要求已经在Linux系统中安装一个学习用的ros软件包例子: s ...

  7. 用于创建此对象的程序是package_【ROS 学习笔记】CMakeLists.txt 与 package.xml

    0. 前言 在 ROS 中,节点的编写语言通常只有 C++ 和 Python,C++ 需要编译后才能运行,Python 则无需编译. 我们知道 Linux 平台编译 C++ 文件,需要编译器和链接器, ...

  8. ROS学习笔记1(配置ROS环境和创建工作空间)

    1 安装ros 参考我的另一篇博客Ubuntu16.04安装ROS和依赖包 如果是通过apt命令安装的package,是不能够被读写的(相当于二进制安装),如果是通过下载源代码编译的,就可以自行编辑. ...

  9. ROS学习笔记(一)ROS系统架构

    ROS系统架构 ROS系统的架构主要被设计和划分为三部分,每一部分代表一个层级的概念: 文件系统级(The filesystem level) 计算图级(The computation graph l ...

  10. ROS学习笔记(一)——ROS Melodic的安装

    目录 文章目录 声明 前言 安装步骤 (1)添加镜像源 (2)添加密钥 (3)更新软件信息 (4)安装 (5)初始化rosdep(注意,这里十有八九会出错!!!) 第一条指令 第二条指令 (6)设置环 ...

最新文章

  1. 这些好用的网站,看看你都收藏了没!
  2. Tomcat 启动时 SecureRandom 非常慢解决办法
  3. 使用 ZwUnmapViewOfSection 卸载并替换内存镜像
  4. http304状态码缓存设置问题
  5. 前端学习(786):数组创建的两种方式
  6. windows下搭建SSH隧道内网映射
  7. 4月第三周网络安全报告:发现放马站点域名437个
  8. 这些年看过的书...
  9. (八)office2016-excel绘制斜线表头 双斜线和三斜线
  10. 闲谈摩根 --兼答关于JP摩根和摩根斯坦利的渊源和区别,其他的摩根八卦
  11. 自定义View之网易云音乐听歌识曲水波纹动画
  12. 深入理解Seq2seq模型(Sequence2sequence)
  13. 如何对自己的Unity项目代码进行加密混淆?
  14. 存储基础知识 - 传统存储 NAS SAN 和 分布式存储对比
  15. Fiddler简单的使用教程
  16. Blender 导出obj到 OpenGL
  17. 手撕设计模式,如何理解依赖倒置原则和好莱坞原则
  18. FishC笔记—23,24 讲 递归:这帮小兔崽子,汉诺塔
  19. 智能园区三维可视化管理系统方案及优势开发
  20. 旧文备份:热电偶/热电偶分度表生成

热门文章

  1. security工作笔记009---spring security BCryptPasswordEncoder加密解密,不错的随机盐,不错的加密解密方法
  2. 杭电2073无限的路.水题
  3. 随想录(学习《许式伟的架构课》)
  4. python编程(pyautogui库)
  5. 让51单片机八段数码管亮起来(静态显示和动态显示、共阴极和共阳极、位码和段码)
  6. xp 挂linux上网,XP系统挂载Linux NFS共享
  7. oracle 序列赋值变量,Oracle变量的定义、赋值及使用
  8. 逻辑表达式是否合法_Linux shell 逻辑运算符、逻辑表达式详解
  9. python随机函数random求最大值_Python遗传算法求一元函数最大值
  10. cmd windows 命令sleep_最实在的9个黑客命令!确定不学习下?