You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS Noetic自定义Message时CMakeLists.txt报错的修复方法咨询

解决ROS Noetic编译自定义msg时的"找不到rospy-msg-paths.cmake"错误

错误信息

CMake Error at /opt/ros/noetic/share/genmsg/cmake/genmsg-extras.cmake:271 (message):
  Could not find 'share/rospy/cmake/rospy-msg-paths.cmake' (searched in
  '/home/vrushabh/v1_wiki_ws/devel;/opt/ros/noetic').
Call Stack (most recent call first):
  robot_pkg/CMakeLists.txt:72 (generate_messages)


-- Configuring incomplete, errors occurred!
See also "/home/vrushabh/v1_wiki_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/vrushabh/v1_wiki_ws/build/CMakeFiles/CMakeError.log".
make: *** [Makefile:1440: cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

问题根源

  1. generate_messages的DEPENDENCIES中错误添加了rospy——rospy是Python客户端库,并非消息定义依赖包,CMake会尝试查找它的msg配置文件,导致报错。
  2. catkin_package部分被注释,未正确声明包的运行时依赖(如message_runtime)。

具体修改步骤

1. 移除generate_messages中的rospy依赖

找到CMakeLists.txt中generate_messages块,删除rospy条目:

generate_messages(
  DEPENDENCIES
  std_msgs
  geometry_msgs
)

2. 启用并修正catkin_package配置

取消注释catkin_package部分,修正语法错误,并确保包含message_runtime和必要依赖:

catkin_package(
  # INCLUDE_DIRS include
  # LIBRARIES robot_pkg
  CATKIN_DEPENDS rospy std_msgs geometry_msgs message_runtime
  # DEPENDS system_lib
)

注:如果你的包不需要导出头文件或库,保持INCLUDE_DIRS和LIBRARIES的注释即可,重点是确保CATKIN_DEPENDS包含message_runtime。

编译验证

修改完成后,删除工作空间下的build和devel文件夹,重新执行编译命令:

catkin_make
# 或使用catkin build
catkin build

内容的提问来源于stack exchange,提问作者Vrushab Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 19:29:44