ROS中自定义头文件、源文件和可执行文件调用

2023-05-16

  1. 编写头文件

头文件创建在功能包/include/功能包名路径下,示例内容如下:

#ifndef _haha   
#define _haha
namespace haha_ns{
class Person{
public:
    void run();
};

}

#endif
  1. 编写源文件

在功能包的src目录下新建一个与头文件名称相同的.cpp文件,用来实现头文件声明的函数,实力内容如下:

#include "ros/ros.h"
#include "功能包名/头文件.h"

namespace haha_ns{
void Person::run(){
ROS_INFO("定义函数内容");
}
}
  1. 在功能包下的src目录下创建一个.cpp文件,示例内容如下:

#include "ros/ros.h"
#include "功能包名/头文件.h"
int main(int argc,char *argv[]){
setlocale(LC_ALL,"");
ros::init(argc,argv,"话题名");
haha::Peoson h;
h.run();
return 0;
}

在这里可执行文件就是包含main函数的文件。

  1. 编辑配置文件

4.1 CMakeLists.txt

(1)头文件与源文件相关配置。

include_directories(
include
  ${catkin_INCLUDE_DIRS}
)
##声明c+++库
add_library(自定义源文件名称
include/功能包名/头文件.h
src/源文件.cpp
)
add_dependencies(自定义源文件名称,${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(自定义源文件名称
  ${catkin_LIBRARIES}
)
以下三个配

(2)可执行文件配置

add_executable(源文件名 src/源文件.cpp)
add_dependencies(源文件名,${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(源文件名
自定义源文件名称
  ${catkin_LIBRARIES}
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS中自定义头文件、源文件和可执行文件调用 的相关文章

  • 12.STM32freeRTOS---递归互斥信号量

    文章目录 前言一 创建递归互斥信号量二 释放递归互斥信号量三 获取递归互斥信号量四 官方例程总结 前言 递归互斥信号量可以看成是一个特殊的互斥信号量 对于互斥信号量 xff0c 获取了互斥信号量的任务就不能再次获取这个互斥信号量 xff0c

随机推荐

  • toString用法

    toString是定义在java lang Object的方法 xff0c 因此所有类都可以使用toString方法 xff0c 但是 toString方法本身返回的是地址信息而对于String Date File 包装类 等都重写了toS
  • 商医通项目总结

    一 项目概述 简介 尚医通即为网上预约挂号系统 xff0c 网上预约挂号是近年开展的一项便民就医服务 xff0c 旨在缓解看病难 挂号难的就医难题 网上预约挂号全面提供的预约挂号业务从根本上解决了这一就医难题 随时随地轻松挂号 xff0c
  • docker安装以及遇到的问题

    目录 一 docker安装 二 安装中可能碰到的问题 1 WSL 2 installation is incomplete 一 docker安装 docker官网下载 xff1a Docker Desktop Docker xff0c 下载
  • STM32MP157实验(三)——按键扫描和中断

    文章目录 按键扫描设计需求基础知识硬件设计STM32CubeIDE设计MX设置代码设计 实验结果 按键中断设计需求基础知识硬件设计STM32CubeIDE设计MX设置代码设计 总结 按键扫描 设计需求 通过按键扫描的方式实现 xff0c 按
  • 一篇博客实现嵌入式入门

    文章目录 前言最小系统和C语言最小系统原理图电源电路时钟电路复位电路调试 下载电路 嵌入式C语言基础知识数据类型const用法修饰变量修饰数组修饰指针修饰函数参数 作用域与static用法extern的用法volatile的用法struct
  • 驱动开发(一)——(单片机程序、Linux应用程序与驱动程序分析)

    文章目录 前言157准备工作配置交叉编译链编译内核编译解压glibc 单片机程序应用程序驱动程序三者的关系 前言 学习资料 xff0c 跟的韦东山老师的视频 xff0c 大家可以上百问网下载资料 百问网 我使用的开发板是STM32MP157
  • 驱动开发(五)——驱动设计思想(面向对象/分层/分离)

    文章目录 设计思想面向对象分层分离 实验手册资源驱动程序 led drv cled operations h芯片相关chip gpio cled resource h单板相关 board MP157 led c应用测试程序Makefile
  • 【shell】遇到错误退出set -e|set -u|set -x|shell 退出时执行|捕捉信号trap

    目录 遇到错误退出 简介和使用 set e 的陷阱 1 xff0c 管道命令 2 xff0c grep匹配不到会导致退出 shell退出时执行 接收信号 trap 用途 trap介绍 列出所有信号的数值和名字 trap的注意事项 遇到错误退
  • 我的世界java版官方网站,讲的太透彻了

    简介 基于SpringCloud Hoxton SR1 43 SpringBoot 2 2 4 RELEASE 的 SaaS型微服务脚手架 xff0c 具备用户管理 资源权限管理 网关统一鉴权 Xss防跨站攻击 自动代码生成 多存储系统 分
  • 深入理解java虚拟机pdf,GitHub已标星16k

    专题5 xff1a Java序列化 1 什么是java序列化 xff0c 如何实现java序列化 xff1f 2 保存 持久化 对象及其状态到内存或者磁盘 3 序列化对象以字节数组保持 静态成员不保存 4 序列化用户远程对象传输 5 Ser
  • 成功入职阿里月薪45K,附赠课程+题库

    网站基础知识 xff08 网站架构及其演变过程 43 常见协议和标准 43 DNS的设置 43 Java中Socket的用法 43 HTTP协议 43 详解Servlet 43 Tomcat分析 xff09 俯视 Spring MVC xf
  • 快醒醒吧!springcloud分布式事务面试题

    一 什么是架构和架构本质 在软件行业 xff0c 对于什么是架构 xff0c 都有很多的争论 xff0c 每个人都有自己的理解 此君说的架构和彼君理解的架构未必是一回事 因此我们在讨论架构之前 xff0c 我们先讨论架构的概念定义 xff0
  • 基于java实现直播,太牛了!

    美团技术一面20分钟 晚7点 xff0c 因为想到下周一才面试 xff0c 我刚准备出去打个羽毛球 xff0c 北京的电话就来了 面试官各种抱歉 xff0c 说开会拖延了 1 自我介绍 说了很多遍了 xff0c 很流畅捡重点介绍完 2 问我
  • java银行面试题目及答案,顺利拿到offer

    二 常见的并发问题 1 脏读 一个事务读取了另一个事务未提交的数据 2 不可重复读 一个事务对同一数据的读取结果前后不一致 两次读取中间被其他事务修改了 3 幻读 幻读是指事务读取某个范围的数据时 xff0c 因为其他事务的操作导致前后两次
  • 白嫖党最爱!javasocket服务端向客户端发消息

    一 公务员都不要35岁以上的 xff0c 何况大公司 这让很多人感到惶恐 xff0c 现在职场上有一种现象 xff1a 很多用人单位会在招聘信息上明确标注 xff0c 年龄需在35岁以下 为什么有经验 有人脉的职场中年人会如此遭 嫌弃 呢
  • Mybatis源码解析:21道Java基础面试题及答案

    10 HashMap和HashTable的区别 答案 xff1a Hashtable和HashMap类有三个重要的不同之处 1 第一个不同主要是历史原因 Hashtable是基于陈旧的Dictionary类的 xff0c HashMap是J
  • Mybatis源码解析:Java泛型详解

    注意 xff1a 泛型的类型参数只能是类类型 xff0c 不能是基本属性类型 xff1b 不能对确切的泛型类型使用instanceof操作 如下面的操作是非法的 xff0c 编译时会出错 if ex num instanceof Gener
  • MySQL数据库优化:Java程序员秋招三面蚂蚁金服

    自我介绍 JVM如何加载一个类的过程 xff0c 双亲委派模型中有哪些方法 xff1f HashMap如何实现的 xff1f HashMap和Concurrent HashMap区别 xff0c Concurrent HashMap 线程安
  • 【shell】shell脚本模板

    参考 xff1a cShell脚本模板 运维 64 小兵的博客 CSDN博客 bin bash set e 打开异常退出功能 set x 打开Debug功能 定义变量 source etc profile 避免用contab ansible
  • ROS中自定义头文件、源文件和可执行文件调用

    编写头文件 头文件创建在功能包 include 功能包名路径下 xff0c 示例内容如下 xff1a ifndef haha define haha namespace haha ns class Person public void ru