问题 `CMake Error at /opt/ros/kinetic/share/genmsg/cmake/genmsg-extras.cmake:155 (message):`

问题 CMake Error at /opt/ros/kinetic/share/genmsg/cmake/genmsg-extras.cmake:155 (message):

1、具体问题

CMake Error at /opt/ros/kinetic/share/genmsg/cmake/genmsg-extras.cmake:155 (message):
  generate_messages() must be called after add_service_files()
Call Stack (most recent call first):
  linlinshi/CMakeLists.txt:66 (add_service_files)


-- Configuring incomplete, errors occurred!
See also "/home/zby/linshi3/build/CMakeFiles/CMakeOutput.log".
See also "/home/zby/linshi3/build/CMakeFiles/CMakeError.log".
Makefile:754: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed
zby@zby:~/linshi3$ catkin_make

2、背景

在跟古月老师的ROS视频课中出现的一个问题
在做话题订阅发布之后创建了功能包内的消息类型,如下所示:

3、创建服务,添加服务相关配置

在这里插入图片描述

在这里插入图片描述
但是出现如下错误:

CMake Error at /opt/ros/kinetic/share/genmsg/cmake/genmsg-extras.cmake:155 (message):
  generate_messages() must be called after add_service_files()
Call Stack (most recent call first):
  linlinshi/CMakeLists.txt:66 (add_service_files)


-- Configuring incomplete, errors occurred!
See also "/home/zby/linshi3/build/CMakeFiles/CMakeOutput.log".
See also "/home/zby/linshi3/build/CMakeFiles/CMakeError.log".
Makefile:754: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

4、问题分析

添加服务配置应该在添加消息之上,意为先配置服务后配置消息

Generate_messages(DEPENDENCIES std_msgs)

## Generate services in the 'srv' folder
# add_service_files(
#   FILES
#   Service1.srv
#   Service2.srv
# )

add_service_files(FILES AddTwoInts.srv)

5、变更为

## Generate services in the 'srv' folder
# add_service_files(
#   FILES
#   Service1.srv
#   Service2.srv
# )

add_service_files(FILES AddTwoInts.srv)

Generate_messages(DEPENDENCIES std_msgs)

6、再次编译,即可成功

[ 80%] Built target linlinshi_gencpp
Scanning dependencies of target client
Scanning dependencies of target server
[ 85%] Building CXX object linlinshi/CMakeFiles/client.dir/src/client.cpp.o
[ 90%] Building CXX object linlinshi/CMakeFiles/server.dir/src/server.cpp.o
[ 95%] Linking CXX executable /home/zby/linshi3/devel/lib/linlinshi/client
[100%] Linking CXX executable /home/zby/linshi3/devel/lib/linlinshi/server
[100%] Built target client
[100%] Built target server
zby@zby:~/linshi3$ 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值