编写头文件
头文件创建在功能包/include/功能包名路径下,示例内容如下:
#ifndef _haha
#define _haha
namespace haha_ns{
class Person{
public:
void run();
};
}
#endif
编写源文件
在功能包的src目录下新建一个与头文件名称相同的.cpp文件,用来实现头文件声明的函数,实力内容如下:
#include "ros/ros.h"
#include "功能包名/头文件.h"
namespace haha_ns{
void Person::run(){
ROS_INFO("定义函数内容");
}
}
在功能包下的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函数的文件。
编辑配置文件
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}
)