ros工作空间中文件夹结构及每个文件的作用

本文总字数:980,阅读预计需要:2分钟

CMAKE编译配置工具

ROS 编译系统 catkin 详解

ros系统学习之Catkin编译系统

ROS--catkin编译系统、package.xml和CMakeList.txt文件

1、build:编译空间

存放CMake和catkin(即编译过程)的缓存信息、配置信息和其他中间文件。

2、devel:开发空间

存放编译后生成的目标文件,包括头文件、动态&静态链接库、可执行文件等。

3、src:源空间

存放功能包(package)。

功能包是ROS文件系统中组织程序文件的基本单元,也就是catkin编译的基本单元。一个 package 下必须包含 CMakeLists.txt 和 package.xml 两个文件:

  • CMakeLists.txt 文件中规定了功能包的编译规则,包括指定功能包名称,指定编译依赖项,指定要编译的源文件,指定要添加的消息格式文件/服务格式文件/动作格式文件,指定生成的消息/服务/动作,指定头文件搜索目录,指定链接库搜索目录,指定生成的静态链接库文件,指定需要链接的库文件,指定编译生成的可执行文件以及路径等等。
    关于CMakeLists.txt详细内容:CMakeList.txt(构建配置文件)
  • package.xml 文件定义了功能包的属性信息,包括包名,版本号,作者,编译依赖和运行依赖等。
    package.xml 文件,指明该 package 在编译和运行时依赖于哪些其他 package,同时也包含该 package 的一些描述信息,如作者、版本等。
    关于XML语言格式:XML学习笔记
    关于package.xml详细内容请:package.xml(功能包配置文件)
  • includesrc 分别存放头文件(*.h)和源程序文件(*.c/*.cpp等);
  • scripts 存放脚本文件(比如Python文件 *.py,shell文件 *.sh);
  • launch 存放 launch文件(*.launch),用于批量运行多个可执行文件
  • config 存放配置文件(*.yaml等);
  • msg以及srv存放自定义的通信格式文件,包括消息(*.msg)、服务(*.srv)
  • urdf 存放定义机器人模型文件(*.urdf

4、install:安装空间

即开发完成后的安装包。

posted @   北极星!  阅读(767)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
历史上的今天:
2020-12-14 AD中PCB各层的含义
>>博客统计:随笔 -615  文章 -0  评论 -50 
点击右上角即可分享
微信分享提示