博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ros头文件引用
阅读量:5139 次
发布时间:2019-06-13

本文共 1502 字,大约阅读时间需要 5 分钟。

引自:https://blog.csdn.net/wawayu_0/article/details/79410237

1. 如何引用自定义头文件

• 引用当前软件包内的头文件

在包的目录include下建test_pack.h文件

#ifndef _TEST_PKG_

#define _TEST_PKG_

#define TEST_PKG_VER "1.0.0"
#define INIT_COUNT 100
int addTwoNum(int a,int b);
#endif

修改CMakeLists.txt参数

include_directories(

include
  ${catkin_INCLUDE_DIRS}
)
2.引用别的包的头文件
catkin_package(
  INCLUDE_DIRS include
#  LIBRARIES test
#  CATKIN_DEPENDS roscpp rospy std_msgs
#  DEPENDS system_lib
)

将包发布,才能使用。

3.引用动态链接库.so文件

mkdir lib

mkdir include/my_pkg

cd include/my_pkg

nano multiply.h

#ifndef _MULTIPLY_H_

#define _MULTIPLY_H_
#ifdef __cpluscplus
extern "c"
{
#endif
    int multiply(int a,int b);
#ifdef __cpluscplus
#endif
#endif

nano multiply.cpp

#include "multiply.h"

int multiply(int a,int b)
{
return a*b;
}

nano my_pkg/src/my_pkg.cpp

#include "ros/ros.h"

#include "std_msgs/String.h"
#include <sstream>
#include "test/test_pkg.h"
#include "my_pkg/multiply.h"
int main(int argc, char **argv)
{
  ros::init(argc, argv, "example_talker_msg");
  ros::NodeHandle n;
  ros::Publisher pub = n.advertise<std_msgs::String>("message", 1000);
  ros::Rate loop_rate(10);
  int count=multiply(30,5);
  ROS_INFO("test version:%s,init count:%d",TEST_PKG_VER,INIT_COUNT);
  while (ros::ok())
  {
    
    std_msgs::String msg;
    std::stringstream ss;

    ss << "my_pkg" << count;

修改CMakeLists.txt

include_directories(

 include
  ${catkin_INCLUDE_DIRS}
)
link_directories(
  lib
   ${catkin_LIB_DIRS}
)

##

编译

运行

 

以上确实解决了我的部分问题,但是仍然没有解决我的ROS程序不能引用自定义消息包头文件的问题。

 

转载于:https://www.cnblogs.com/boyen/p/8757170.html

你可能感兴趣的文章
CSS属性值currentColor
查看>>
[Leetcode|SQL] Combine Two Tables
查看>>
《DSP using MATLAB》Problem 7.37
查看>>
ROS lesson 1
查看>>
js笔记
查看>>
c风格字符串函数
查看>>
python基础学习第二天
查看>>
java可重入锁reentrantlock
查看>>
浅谈卷积神经网络及matlab实现
查看>>
解决ajax请求cors跨域问题
查看>>
【123】
查看>>
《收获,不止Oracle》pdf
查看>>
LinkedList<E>源码分析
查看>>
Real-Time Rendering 笔记
查看>>
如何理解HTML结构的语义化
查看>>
Activity之间的跳转:
查看>>
软件是天时、地利、人和的产物!
查看>>
实验四2
查看>>
Android现学现用第十一天
查看>>
多路复用
查看>>