ROS添加CPP和h文件

ROS添加CPP和h文件

  1. indclude文件夹添加test.h
#ifndef HELLO_ROS_PKG_TEST_H
#define HELLO_ROS_PKG_TEST_H

#include <ros/ros.h>


class test {
public:
    test();

    void show() const;
};


#endif //HELLO_ROS_PKG_TEST_H
  1. src中添加test.cpp
#include "test.h"		//注意下面3.1步的路径,否则可能找不到文件
#include <iostream>
void test::show() const
{
    std::cout<<"test"<<std::endl;
}
test::test()
{
    ROS_INFO("TEST()123456");
}
  1. src中添加hello1.cpp

#include <ros/ros.h>
#include "test.h"	 
int main(int argc, char **argv)
{
    ros::init(argc,argv,"hello"); 	//初始化ROS客户端库
    ros::NodeHandle n; 	//创建此对象,此程序被注册为节点管理器的节点
    ROS_INFO("Hello ROS!");	//生成一条消息,终端会打印这句话
    test my_test;		//自定义的class
    my_test.show();	//调用自定义的函数,会打印test
    ros::spinOnce(); 	//处理节点订阅话题的所有回调函数
}
  1. 修改CMakeList.txt文件
include_directories(
        include
        ${catkin_INCLUDE_DIRS}
)


add_library(   ##用来手动链接.hpp和.cpp文件
        test1           ##自定义的链接库名,后面用来识别
        include/test.h    ##.hpp的路径
        src/test.cpp     ##.cpp的路径

        )

add_executable(hello1 src/hello1.cpp) 
#手动添加 第一个是可执行文件的文件名,后面是源,可以多个,用空格隔开
target_link_libraries(hello1 test1 ${catkin_LIBRARIES}) #此可执行文件所需的链接库,第一个可执行文件名,后面为链接库,可多个,用空格隔开

版权声明:本文为qq_38966867原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。