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

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 @ 2021-12-14 10:45  北极星!  阅读(677)  评论(0编辑  收藏  举报