前言

ROS下面使用已经编译好的ROS package是很方便的,但是大多数我们可能自己定义了一些头文件,想去直接引用,那么如何在ROS下面调用自己的定义的函数呢?

ROS下调用自定义的头文件

如下图所示,在ROS某个工程下面和源文件同级目录下建立两个文件夹,include和lib。
其中include文件夹存放.h头文件,lib文件夹存放编译生成的.so文件,.h文件对应的.cpp文件直接放在源文件同级目录下即可,比如imprcoess.cpp。这里的函数定义可以封装成动态链接库,也可以直接定义成.cpp文件。


然后修改下Cmakelist.txt

catkin_package(INCLUDE_DIRS include
#  LIBRARIES car_sensorCATKIN_DEPENDS cv_bridge image_transport roscpp sensor_msgs std_msgs rospy
#  DEPENDS system_lib
)include_directories(include${catkin_INCLUDE_DIRS}
)link_directories(${catkin_LIB_DIRS} lib
)find_package(OpenCV)
add_executable(camera camera.cpp)
target_link_libraries(camera ${catkin_LIBRARIES} ${OpenCV_LIBRARIES} libdximageproc.so libgxgvtl.so libgxiapi.so libgxu3vtl.so libdarknet.so)
#这里的.so文件即是动态链接库,如果编译时找不到动态链接库,请将动态链接库copy到 /usr/lib中

这里的.so文件即是动态链接库,如果编译时找不到动态链接库,请将动态链接库copy到 /usr/lib中。然后编译通过,可以rosrun啦。。。

ROS下面调用自定义的头文件和.cpp/.so文件(亲测有效)相关推荐

  1. Github高速下载文件,方法简单,亲测有效

    Github高速下载文件,方法简单,亲测有效 Github对我们来说是一个宝贵的仓库,但现在Github下载逐渐感人,在尝试多种方法后,推荐以下这种方法,该方法需要一个码云账号,简单注册即可,高速下载 ...

  2. java调用阿里云上传和下载(项目亲测)

    pom文件导入依赖就不贴了,直接到官网贴最新的就行:https://help.aliyun.com/document_detail/32009.html?spm=a2c4g.11186623.6.80 ...

  3. JAVA 调用微信API 生成小程序跳转地址 亲测有效 【附效果图】

    JAVA 调用微信API 生成小程序跳转地址 JAVA 调用微信API 生成小程序跳转地址 由于工作需要,需要在后台生成自己公司的小程序分享地址以供前端工作人员使用,在开发当前功能时因为遇到一些问题导 ...

  4. Java使用iText生成word文件的完美解决方案(亲测可行)

    JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案 一种是pio但是他的excel处理很程序 wor ...

  5. zblog php获取文章的第一张图片,zblog调用文中第一张图片作为缩略图,博主亲测可用...

    昨天更新了锦鲤主题模板,网友反馈说文章插入视频之后会出现错版,网站整个都是乱的,随后看了下源代码,没什么太大问题,就是缩略图调用的时候出现了问题,错误的抓取了mp4格式的文件,然后去查看缩略图插件代码 ...

  6. ubuntu从本地上传文件到云服务器、从云服务器下载文件到本地的命令(亲测有效)

    1.ubuntu从本地上传文件到云服务器: sudo scp 本地文件路经 username@目标ip:目标路径 在本地打开终端,输入命令,如: scp ./localfile.txt usernam ...

  7. 卸载wps后桌面上的office文件图标变成了白色(亲测有效)

    适用Office2016/365中的Word.PowerPoint.Excel文件图标因安装WPS造成图标异常,显示为无法识别的程序图标,卸载.重装都不能修复,但能正常使用. 解决办法: 1.运行re ...

  8. 游戏缺少steam_api.dll文件的解决办法【亲测可用】

    游戏丢失steam_api.dll文件修复补丁,为玩家解决大多数steam平台游戏及其破解游戏运行时会出现的相应文件问题,本次为大家带来steam_api.dll 64位版补丁下载,有需要的朋友们快来 ...

  9. 清理C盘内存:电脑C盘飘红了,那么如何清理垃圾文件,总结几种亲测方案

    作为web前端工程师,不能局限在前端的知识领域,也不只是后端领域,还要多多学习了解计算机知识.在日常使用电脑的时候,发现C盘的占据的内存越来越大,我甚至遇到过把C盘直接干红,这时候就需要做相关的清理, ...

  10. python批量给文件命名为001,002,...【亲测有效】

    文章目录 命名结果 源代码 参考 命名结果 命名格式:img_4位数字 源代码 import scipy.io as scio import numpy as np import osfolder_p ...

最新文章

  1. 【深度学习】(5) 简单网络,案例:服装图片分类,附python完整代码
  2. ubuntu安装linux deepin,如何在Ubuntu中安装Deepin终端 | MOS86
  3. IOT(Index Organized Table)
  4. android monkey优化,GitHub - baozhida/AndroidMonkey: 这个项目是CrashMonkey4Android可执行文件,修复了一些bug,做了一些优化...
  5. DataBseDesign工作笔记003---ERStudio使用笔记_基本使用方法详解
  6. 大道至简——编程的精义
  7. Android复习强化笔记(二)
  8. 谈谈Cost function and gradient的matlab写法
  9. SQL Server 数据库增删改查
  10. ida 反编译 php,飘云阁安全论坛在IDA pro中的这样一段反编译代码能够改写成易语言吗 - Powered by Discuz!...
  11. ICMP协议和ping命令
  12. 51nod 1076 2条不相交的路径 无向图强联通分量 trajan算法
  13. 高考为什么考计算机信息,信息技术是否应该进入高考?
  14. CSS动画 animation与transition
  15. Vue源码阅读(28):mergeOptions() 方法源码解析
  16. 网易数帆王佰平:我的 Envoy Maintainer 之路
  17. 《第五堂棒球课》:MLB棒球创造营·棒球名人堂
  18. RHEL7.3 DNS配置
  19. 腾讯地图实现微信小程序地图定位教程
  20. access订单明细表怎么做_如何制作材料明细表...doc

热门文章

  1. 存储单位 KB MB bit
  2. “吃神么,买神么”的第一个Sprint计划(第三天)
  3. 在SQL Server 2005中实现异步触发器架构
  4. 如何使用CodeBlocks开发C/C++程序
  5. WinForm窗体生命周期
  6. Linux下Oracle进程CPU使用率过高处理方式
  7. SWIG 转换C++接口为Java接口
  8. Thingsboard 3.1.0 - 规则链:外部结点REST API
  9. 在汇编语言调用c语言程序,C/C++调用汇编语言实例:目录表程序
  10. leetcode 贪心_「leetcode」135.分发糖果【贪心算法】详细图解