ROS学习笔记4(编译一个ROS Package)
文章目录
- 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
结合了cmake
和make
命令。
标准用法:
# 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)相关推荐
- ROS学习笔记三:创建ROS软件包
,# ROS学习笔记三:创建ROS软件包 catkin软件包的组成 一个软件包必须满足如下条件才能被称之为catkin软件包: 这个软件包必须包含一个catkin编译文件package.xml(man ...
- ROS学习笔记八:创建ROS msg和srv
ROS学习笔记八:创建ROS msg和srv 本节主要讲述了如何创建和建立ROS msg和srv,同时使用命令行工具rosmsg.rossrv和roscp. msg和srv简介 msg:描述ROS m ...
- ROS学习笔记二:探索ROS文件系统
ROS学习笔记二:探索ROS文件系统 ROS针对自己文件的特性,具有一些自己的工具命令,当针对ROS文件进行操作的时候是非常方便的.这些命令和ubuntu系统原有的命令相似但却不同,单独针对ROS文件 ...
- ROS学习笔记六:理解ROS服务和参数
ROS学习笔记六:理解ROS服务和参数 主要介绍ROS服务和参数,同时使用命令行工具rosservice和rosparam. ROS service service是节点之间互相通信的另一种方式,se ...
- ROS学习笔记五:理解ROS topics
ROS学习笔记五:理解ROS topics 本节主要介绍ROS topics并且使用rostopic和rqt_plot命令行工具. 例子展示 roscore 首先运行roscore系列服务,这是使用R ...
- ROS学习笔记四:理解ROS节点
ROS学习笔记四:理解ROS节点 本节主要介绍ROS图形概念,讨论ROS命令行工具roscore.rosnode和rosrun. 要求 要求已经在Linux系统中安装一个学习用的ros软件包例子: s ...
- 用于创建此对象的程序是package_【ROS 学习笔记】CMakeLists.txt 与 package.xml
0. 前言 在 ROS 中,节点的编写语言通常只有 C++ 和 Python,C++ 需要编译后才能运行,Python 则无需编译. 我们知道 Linux 平台编译 C++ 文件,需要编译器和链接器, ...
- ROS学习笔记1(配置ROS环境和创建工作空间)
1 安装ros 参考我的另一篇博客Ubuntu16.04安装ROS和依赖包 如果是通过apt命令安装的package,是不能够被读写的(相当于二进制安装),如果是通过下载源代码编译的,就可以自行编辑. ...
- ROS学习笔记(一)ROS系统架构
ROS系统架构 ROS系统的架构主要被设计和划分为三部分,每一部分代表一个层级的概念: 文件系统级(The filesystem level) 计算图级(The computation graph l ...
- ROS学习笔记(一)——ROS Melodic的安装
目录 文章目录 声明 前言 安装步骤 (1)添加镜像源 (2)添加密钥 (3)更新软件信息 (4)安装 (5)初始化rosdep(注意,这里十有八九会出错!!!) 第一条指令 第二条指令 (6)设置环 ...
最新文章
- 这些好用的网站,看看你都收藏了没!
- Tomcat 启动时 SecureRandom 非常慢解决办法
- 使用 ZwUnmapViewOfSection 卸载并替换内存镜像
- http304状态码缓存设置问题
- 前端学习(786):数组创建的两种方式
- windows下搭建SSH隧道内网映射
- 4月第三周网络安全报告:发现放马站点域名437个
- 这些年看过的书...
- (八)office2016-excel绘制斜线表头 双斜线和三斜线
- 闲谈摩根 --兼答关于JP摩根和摩根斯坦利的渊源和区别,其他的摩根八卦
- 自定义View之网易云音乐听歌识曲水波纹动画
- 深入理解Seq2seq模型(Sequence2sequence)
- 如何对自己的Unity项目代码进行加密混淆?
- 存储基础知识 - 传统存储 NAS SAN 和 分布式存储对比
- Fiddler简单的使用教程
- Blender 导出obj到 OpenGL
- 手撕设计模式,如何理解依赖倒置原则和好莱坞原则
- FishC笔记—23,24 讲 递归:这帮小兔崽子,汉诺塔
- 智能园区三维可视化管理系统方案及优势开发
- 旧文备份:热电偶/热电偶分度表生成
热门文章
- security工作笔记009---spring security BCryptPasswordEncoder加密解密,不错的随机盐,不错的加密解密方法
- 杭电2073无限的路.水题
- 随想录(学习《许式伟的架构课》)
- python编程(pyautogui库)
- 让51单片机八段数码管亮起来(静态显示和动态显示、共阴极和共阳极、位码和段码)
- xp 挂linux上网,XP系统挂载Linux NFS共享
- oracle 序列赋值变量,Oracle变量的定义、赋值及使用
- 逻辑表达式是否合法_Linux shell 逻辑运算符、逻辑表达式详解
- python随机函数random求最大值_Python遗传算法求一元函数最大值
- cmd windows 命令sleep_最实在的9个黑客命令!确定不学习下?