ROS实践笔记12

ROS中的头文件与源文件

  1. 头文件

    在功能包下的 include/功能包名 目录下新建头文件: hello.h,示例内容如下:

        #ifndef _HELLO_H
        #define _HELLO_H
    
        namespace hello_ns{
    
        class HelloPub {
    
        public:
            void run();
        };
    
        }
    
        #endif
    

    于c_cpp_properties.json文件中配置头文件

  2. 可执行文件
    在 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;
    }
    
  3. CMakeLists.txt

    需要额外配置,去掉注释即可

    include_directories(
     include
     ${catkin_INCLUDE_DIRS}
     )
    

hello.cpp与main.cpp分开实现

在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配置没有区别

上一篇:【log4j2漏洞复现与利用】


下一篇:Linux 压缩解压操作