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(功能包配置文件)
- include 和 src 分别存放头文件(*.h)和源程序文件(*.c/*.cpp等);
- scripts 存放脚本文件(比如Python文件 *.py,shell文件 *.sh);
- launch 存放 launch文件(*.launch),用于批量运行多个可执行文件;
- config 存放配置文件(*.yaml等);
- msg以及srv存放自定义的通信格式文件,包括消息(*.msg)、服务(*.srv)
- urdf 存放定义机器人模型文件(*.urdf)
4、install:安装空间
即开发完成后的安装包。
我们向往远方,却忽略了此刻的美丽
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
2020-12-14 AD中PCB各层的含义