在这篇博客中将会介绍,如何在工作空间中构建和使用一个包。

首先,我们来看一下如何在catkin工作空间中,使用catkin_make工具从源文件构建和安装一个包。使用catkin_make来构建一个catkin工作空间是非常容易的,您必须在catkin工作空间的顶层使用catkin_make命令。下面的演示了一个典型的工作流程:

$ cd ~/catkin_ws/src/beginner_tutorials/src# Add/Edit source files$ cd ~/catkin_ws/src/beginner_tutorials# Update CMakeFiles.txt to reflect any changes to your sources$ cd ~/catkin_ws$ catkin_make 

首先打开beginner_tutorials包下面的src文件夹,在里面添加或者编辑源文件。然后回到包 beginner_tutorials的根目录下,更新一下CMakeLists.txt文件,最后回到工作空间的根目录下,使用catkin_make命令进行构建。

上面的流程会将~/catkin_ws/src目录下的包构建到~/catkin_ws/build目录下。任何的源文件、python库、脚本,以及其他的静态文件,将会留在源空间~/catkin_ws/src中。然而所有产生的文件,像库文件、可执行文件以及产生的代码都被放置在devel中。使用如下命令来创建install工作空间:

cd ~/catkin_ws
catkin_make install

上面的两条命令可以用下面一条指令来代替:

cd ~/catkin_ws/build && make install

你可以使用devel或者是install空间,但不能同时使用。他们各有好处,具体情况,应该具体对待。在工作空间中还是推荐使用devel。如果您之前已经有了一个编译好的工作空间,并且您在里面添加了一个新的包,可以使用如下命令将这个包添加进去:

catkin_make --force-cmake

这样我们就完成了一个包的构建。

ROS的学习(五)在工作空间中构建和使用catkin包相关推荐

  1. 【深度学习】在PyTorch中构建高效的自定义数据集

    文章来源于磐创AI,作者磐创AI 学习Dataset类的来龙去脉,使用干净的代码结构,同时最大限度地减少在训练期间管理大量数据的麻烦. 神经网络训练在数据管理上可能很难做到"大规模" ...

  2. 五、Java中常用的API(通过包进行分类)————异常、多线程和Lambda表达式

    之前已经介绍了java.lang包下的相关类,今天将要补充两个常用的API:java.lang.Throwable和java.lang.Thread 一.异常(java.lang.Throwable) ...

  3. 【记录ROS学习(五)2022/08/27】Win版ROS/Noetic 如何添加必要的依赖(rosdep)

    [记录ROS学习(五)2022/08/27]Win版ROS/Noetic 如何添加必要的依赖(rosdep) 近期为了使得更多的设备可以连入ROS,开始转向Windows平台的ROS,遇到一些问题 无 ...

  4. 【AngularJs学习笔记五】AngularJS从构建项目开始

    为什么80%的码农都做不了架构师?>>>    #0 系列目录# AngularJs学习笔记 [AngularJs学习笔记一]Bower解决js的依赖管理 [AngularJs学习笔 ...

  5. ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)

    ROS中的基本对象和概念学习笔记(ROS入门学习笔记一) ROS中创建工作区和包(ROS入门学习笔记二) ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三) 1.roslaunc ...

  6. c语言中 程序各步作用,C语言学习网总结C语言学习五步曲

    很多人对C语言的第一感觉就是太难了,很难理解这种语言,也不知道该如何来理解,书也看了,视频也看了,但就是没什么太大的作用,那么C语言究竟该如何来学? C语言作为一门计算机语言,想要真正的掌握并使用需要 ...

  7. 第五篇《深度学习在故障诊断领域中的研究现状与挑战》论文阅读笔记

    [1]任浩,屈剑锋,柴毅,唐秋,叶欣.深度学习在故障诊断领域中的研究现状与挑战[J].控制与决策,2017,32(08):1345-1358. 深度学习在故障诊断领域中的研究现状与挑战 一.文章本身 ...

  8. 了解如何在Google Colaboratory中构建深度学习系统

    原文来自特拉字节:https://telabytes.com/article/preview?id=119 这是练习深度学习的好时机.现有的主要深度学习框架如TensorFlow.Keras和PyTo ...

  9. 【C语言进阶深度学习记录】五 C语言中变量的属性

    上一篇文章学习了C语言中的类型转换,点击链接查看:[C语言进阶深度学习记录]四 C语言中的类型转换. 文章目录 1 C语言的变量属性 1.1 auto关键字 1.2 register关键字 1.3 s ...

最新文章

  1. Retrofit 找不到 GsonConverterFactory
  2. 微信小程序---系统信息-位置信息-定位信息
  3. 数据库范式1NF 2NF 3NF BCNF
  4. 解决2次查询User的问题(ThreadLocal)
  5. 微型计算机实验代码,微型计算机原理实验1-数据传送
  6. makefile运行_NVDIA TX2入门 系列之三:运行Yolov3
  7. c语言学籍管理系统小程序,学籍业务办理系统(开源 v2.0发布 优化代码,增加小程序端)...
  8. 内置函数补充 之 反射
  9. Redis高并发5-redis数据持久化之企业应用
  10. 从一个小程序说起 - C++快速入门02
  11. android读取sim卡,Android开发之获取SIM卡信息和手机号码
  12. 10分钟搞懂蚁群算法
  13. 超火的数码产品犀牛rhino模型素材网站合集看过来
  14. Oracle空闲超时时间设置
  15. 1998年11月11日,马化腾和同学张志东正式注册——腾讯
  16. 适合win7的python版本_windows支持哪个版本的python
  17. IOS开发系列—Objective-C之内存管理
  18. 计算机字长通常不可能,计算机的字长通常不可能为( )位。
  19. Python 字典Dictionary详解
  20. 选生物化学历史能不能报计算机专业,化学生物历史组合被禁:新高考为啥不能选化学生物历史?...

热门文章

  1. 有一些无声话语,只有寻梦的人彼此听得见
  2. [转载] python divmod()函数
  3. [转载] vscode python导入模块
  4. [转载] Java异常处理习题
  5. `ll/sc` 指令在`linux`中的软件实现
  6. 转发和重定向又是什么“垃圾”——教你再分类
  7. python文件处理,将DNA序列转换为RNA序列
  8. 技术 产品 团队(上):如何成为超级个体
  9. JavaScript小技巧总结
  10. linux配置java环境变量(转)