探讨ros下的cmakelists文件的编写

2023-05-16

文章目录

  • cmakelists文件整体架构
  • 分块讲解
    • 1.CMake版本
    • 2.软件包名称
    • 3.查找相关的CMake包
    • 4.消息/服务/动作生成器

cmakelists文件整体架构

所需CMake版本(cmake_minimum_required)

     软件包名称(project())

     查找构建所需的其他CMake / Catkin软件包(find_package())

     启用Python模块支持(catkin_python_setup())

     消息/服务/动作生成器(add_message_files(),add_service_files(),add_action_files())

     调用消息/服务/动作生成(generate_messages())

     指定package build info export(catkin_package())

     要建立的库/可执行文件(add_library()/ add_executable()/ target_link_libraries())

     测试建立(catkin_add_gtest())

     安装规则(install())
  • 注:CMakeLists.txt文件必须遵循此格式且按照配置的顺序进行,否则您的包将无法正确构建。

分块讲解

1.CMake版本

cmake_minimum_required(VERSION 2.8.3)
  • 每个catkin CMakeLists.txt文件必须以需要的CMake版本开始。 Catkin需要2.8.3或更高版本。

2.软件包名称

project(robot_brain)
  • 所使用的项目名是由CMake项目功能指定的包的名称

3.查找相关的CMake包

find_package(catkin REQUIRED)
  • 需要使用CMake的find_package()函数指定需要找到哪些其他CMake包来构建我们的项目
  • 但是至少有一个依赖于catkin:
  • 若所需多个依赖包:
find_package(catkin REQUIRED)
find_package(roscpp REQUIRED)
find_package(rospy REQUIRED)
find_package(std_msgs REQUIRED)

也可以写成

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
)
  • 如果要使用 C++ 和Boost,则需要引用 find_package 包含 Boost,并且指明 Boost 的类型,如使用 Boost threads,则:
find_package(Boost REQUIRED COMPONENTS thread)

4.消息/服务/动作生成器

find_package(catkin REQUIRED COMPONENTS ...)
 add_message_files(...)
 add_service_files(...)
 add_action_files(...)
 generate_messages(...)
 catkin_package(...)
 ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

探讨ros下的cmakelists文件的编写 的相关文章

随机推荐

  • PX4初级教程

    链接 xff1a https pan baidu com s 1VIQcOQt I5 evMx1jnV0ZQ 提取码 xff1a 8niq
  • Qt Creator编写无人机地面站系统

    用户登录界面 将用户注册的账户信息如实填写 xff0c 然后输入验证码 xff0c 点击 xff02 登录 xff02 即可进入无人机地面站管理系统 xff0e 地面站界面
  • Mavlink自定义协议

    参照本人博客 xff1a 博客直达 浏览密码 xff1a N414 这里不做描述 xff0c 详细过程请移步本人博客
  • 狼群算法资源总结

    狼群算法介绍 xff1a 狼群算法的优化 狼群算法三维路径规划 xff1a 狼群算法三维路径规划Matlab
  • html+css+php+mysql实现注册+登录+修改密码(附完整代码)

    注 xff1a 转载及使用源代码请注明来源 xff01 如疑问可私信 xff01 目的 xff1a 在利用QT软件进行登录软件开发时 xff0c 就想要实现点击按钮跳转到指定网页进行注册以及修改密码等操作 xff0c 就像QQ客户端那样可以
  • Qt嵌入外部EXE程序,并显示在主界面中!

    一 获取程序句柄以及类 打开Visual Studio 进行查询 二 QT调用程序 H文件 span class token macro property span class token directive keyword ifndef
  • Cmake软件编译opencv报错,CMake Warning at cmake/OpenCVDownload.cmake:193 (message): FFMPEG: Download...

    当执行如下操作时 xff1a 出现下面报错 xff0c 在链接ipaddress com查询raw githubusercontent com地址 xff0c 然后将ip添加至C Windows System32 drivers etc h
  • MOT:MOTchallenge任务评价方法

    GT介绍 span class token number 1 1 span 912 484 97 109 0 7 1 span class token number 2 1 span 912 484 97 109 0 7 1 span cl
  • /bin/sh^M: 坏的解释器: 没有那个文件或目录

    在windows上面notepad 43 43 写的shell文件 xff0c 复制带Linux上面提示错误 bin sh M 坏的解释器 没有那个文件或目录 在命令行执行下面语句 xff1a span class token commen
  • 相机内参矩阵、外参矩阵、畸变矩阵

    1 相机针孔模型 图中 xff0c X坐标系是针孔所在坐标系 xff0c Y坐标系为成像平面坐标系 xff0c P为空间一点 xff0c 小孔成像使得P点在图像平面上呈现了一个倒立的像 齐次形式 xff1a 在此 xff0c 我们先暂时舍弃
  • STM32—驱动GY85-IMU模块

    GY85是一个惯性测量模块 xff0c 内部集成了三轴加速度计 三轴陀螺仪 电子罗盘 气压传感器等芯片 xff0c 用于测量和报告设备速度 方向 重力 xff0c 模块可以将加速度计 陀螺仪 电子罗盘等传感器的数据进行综合 xff0c 在上
  • MPU6050原始数据分析——学习笔记

    MPU6050原始数据分析 学习笔记 个人学习笔记MPU6050简介 原始数据分析加速度计陀螺仪代码 个人学习笔记 用于记录自己学习的成果 xff0c 并且分享给大家一起看看 希望对看到这篇的朋友有所帮助 MPU6050简介 MPU 605
  • DAY15 异常捕获

    DAY15 异常捕获 一 文件操作细节问题 1 1 参数encoding open file mode 61 r encoding 61 None encoding 设置文本文件的编码或者解码方法 xff08 将数据写入到文件之前会自动编码
  • x86-从实模式到保护模式(总结)

    总结主要针对最后一章的内容 xff0c 最后一张的程序使用的是平坦模式 代码段和数据段都是从0x00000000到0xffffffff xff0c 能够访问4GB的地址空间 使用平坦模式的好处 xff1a 不用频繁的在段与段之间进行切换 代
  • Docker 部署 Prometheus & Grafana (监控主机进程)

    目录 1 环境介绍 xff1a 2 部署 主机进程 监控1 使用 Docker 部署 Grafana2 部署并启动 prometheus3 下载 process exporter4 创建并编辑文件 process name yaml5 在
  • 【Docker】报错:Got permission denied while trying to connect to the Docker daemon socket at unix:///var/

    报错原因 在VMWARE中安装的centos中查看容器Docker所安装的镜像命令时即执行 docker images 时虚拟机报错 xff0c 该用户没有此类权限 错误 xff1a Got permission denied while
  • linux ubuntu 彻底卸载包,清理linux软件卸载残留

    使用以下命令清理残留配置 xff0c 其实就是删除残留的 rc文件 dpkg span class token parameter variable l span span class token operator span span cl
  • list和array 访问不连续index

    python中内置数据类型list与numpy array都是常会用到的两种数据结构 二者在访问变量中不连续index时处理方式有所不同 array array访问不连续index的方式非常简单 xff0c 只需要用定义好的索引直接截取ar
  • TVM Windows conda 安装

    TVM Windows 安装 简介 本篇博客主要目的是帮助大家在windows平台上安装好tvm xff0c 并且可以顺利使用 因为有项目需要使用tvm xff0c 同时自己需要用windows做一些测试 xff0c 因此想要在window
  • 探讨ros下的cmakelists文件的编写

    文章目录 cmakelists文件整体架构分块讲解1 CMake版本2 软件包名称3 查找相关的CMake包4 消息 服务 动作生成器 cmakelists文件整体架构 所需CMake版本 xff08 cmake minimum requi