ROS添加CPP和h文件
- 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
- 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");
}
- 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(); //处理节点订阅话题的所有回调函数
}
- 修改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版权协议,转载请附上原文出处链接和本声明。