头文件
在功能包下的 include/功能包名 目录下新建头文件: hello.h,示例内容如下:
#ifndef _HELLO_H #define _HELLO_H namespace hello_ns{ class HelloPub { public: void run(); }; } #endif
于c_cpp_properties.json文件中配置头文件
可执行文件
在 src 目录下新建文件:hello.cpp,示例内容如下:
#include "ros/ros.h" #include "test_head/hello.h" namespace hello_ns { void HelloPub::run(){ ROS_INFO("自定义头文件的使用...."); } } int main(int argc, char *argv[]) { setlocale(LC_ALL,""); ros::init(argc,argv,"test_head_node"); hello_ns::HelloPub helloPub; helloPub.run(); return 0; }
CMakeLists.txt
需要额外配置,去掉注释即可
include_directories( include ${catkin_INCLUDE_DIRS} )
在CMakeLists.txt中配置
add_library(hello include/test_head_src/hello.h src/hello.cpp ) # hello 是为库映射的名字 add_dependencies(hello ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) target_link_libraries(hello ${catkin_LIBRARIES} ) add_executable(main src/main.cpp) add_dependencies(main ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) target_link_libraries(main hello ${catkin_LIBRARIES} )
python
import os import sys path = os.path.abspath(".") # 核心 sys.path.insert(0,path + "/src/plumbing_pub_sub/scripts") import tools
使用scripts/tools.py模块时,在文件中需要加入的如上
配置与普通python配置没有区别