编译过程中出现如下错误:
/home/jack/dhrobot_ws/src/dhrobot_demo/src/up_down_demo.cpp:62:84: error: no matching function for call to ‘ros::NodeHandle::subscribe(const
char [15], int, bool (&)(const Bool&))’
ros::Subscriber marker_arm_flag = n.subscribe(“arm_cmd_talker”,10,marker_arm_back);
^
w
t
f
,
,
,
,
祥
哥
表
示
一
脸
懵
逼
,
我
明
明
是
写
了
回
调
函
数
的
啊
?
!
?
!
?
!
wtf,,,,祥哥表示一脸懵逼,我明明是写了回调函数的啊 ? ! ? ! ? !
wtf,,,,祥哥表示一脸懵逼,我明明是写了回调函数的啊?!?!?!
赶
紧
把
c
o
d
e
f
a
t
h
e
r
简
鸡
蛋
同
志
叫
过
来
看
了
一
眼
,
大
佬
不
愧
是
大
佬
,
一
语
惊
醒
梦
中
人
!
!
!
赶紧把code father简鸡蛋同志叫过来看了一眼,大佬不愧是大佬,一语惊醒梦中人!!!
赶紧把codefather简鸡蛋同志叫过来看了一眼,大佬不愧是大佬,一语惊醒梦中人!!!
回
调
函
数
的
类
型
手
残
写
成
了
b
o
o
l
型
,
而
人
家
明
明
没
有
返
回
值
,
难
怪
编
译
器
找
不
到
它
0.0
回调函数的类型手残写成了bool型,而人家明明没有返回值,难怪编译器找不到它0.0
回调函数的类型手残写成了bool型,而人家明明没有返回值,难怪编译器找不到它0.0
修
改
完
再
次
执
行
编
译
命
令
(
切
记
切
记
,
一
定
要
先
保
存
修
改
的
程
序
再
编
译
)
,
编
译
顺
利
通
过
.
修改完再次执行编译命令(切记切记,一定要先保存修改的程序再编译),编译顺利通过.
修改完再次执行编译命令(切记切记,一定要先保存修改的程序再编译),编译顺利通过.
总结:
- 小白总是手高眼低,遇到错误要先冷静分析一下
- 遇到的问题要及时记录,防止后续重复遇到此问题
- 细节一定要注意,修改完程序及时备份与保存
- 编译时要注意是否成功对你要编译的程序进行了编译
- 如果指定一个功能包进行编译,再编译整个工作过程时会出现重复编译之前指定的功能包的情况(而不是编译整个工作空间),因此要使用
catkin_make -DCATKIN_WHITELIST_PACKAGES=''
命令进行编译