头文件
当一个packageA里面的include文件夹里,含有不同文件夹的头文件时
其源文件的调用:路径不需要添加include,直接是include的下一级
#include "rm_hw/control_loop.h"
#include "rm_hw/transmission/double_actuator_transmission_loader.h"
#include "rm_hw/transmission/double_actuator_transmission.h"
当用到其他包的头文件时,用<>,其他规则如上一样,仍然不用添加include
#include <rm_common/ros_utilities.h>
当源文件含有某个包生成的msg时,该msg已经生成了头文件了,不用详细路径,直接包名+头文件
#include <rm_msgs/BalanceState.h>
msg文件内容与模板的对应
假设Enemy.msg里有:
float64 distance
uint8 is_faraway
ros::Publisher pub = nh.advertise<rmua_decision::Enemy>("enemy_distance",10);
<>里面只可有到Enemy,不可以有<rmua_decision::Enemy::distance>。