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

编译ROS hector navigation时ceres_catkin找不到gflags库如何解决

报错修复方案

该报错的核心原因是ceres_catkin未在CMake配置阶段正确声明对gflags_catkin的前置依赖,仅添加头文件目录声明无法解决依赖查找问题,可按以下步骤依次修复:

  • 步骤1:修正ceres_catkin的CMakeLists.txt配置
    在所有引用gflags_catkin、glog_catkin相关变量的代码之前,补充find_package声明,示例如下:
find_package(catkin REQUIRED COMPONENTS
  gflags_catkin
  glog_catkin
  # 此处保留你原有的其他catkin依赖项
)

同时在catkin_package配置段中导出上述依赖:

catkin_package(
  CATKIN_DEPENDS gflags_catkin glog_catkin
  # 此处保留你原有的其他catkin_package配置项
)
  • 步骤2:补全ceres_catkin的package.xml依赖声明
    添加对应构建和运行时依赖:
<build_depend>gflags_catkin</build_depend>
<build_depend>glog_catkin</build_depend>
<exec_depend>gflags_catkin</exec_depend>
<exec_depend>glog_catkin</exec_depend>
  • 步骤3:调整编译顺序,优先编译依赖包
    为避免编译顺序错乱导致依赖未就绪,先在工作空间根目录执行指令单独编译依赖:
    catkin_make --only-pkg-with-deps gflags_catkin glog_catkin
    依赖编译完成后,再执行正常的全工作空间编译指令即可。
    如果使用catkin_tools编译工具,将上述指令替换为catkin build gflags_catkin glog_catkin即可。
  • 步骤4:缺失系统依赖的兜底修复
    如果执行上述步骤后仍报错,直接安装对应预编译依赖包,Ubuntu系统执行指令如下(将<ROS版本>替换为实际使用的版本,如noetic、melodic):
    sudo apt install libgflags-dev libgoogle-glog-dev ros-<ROS版本>-gflags-catkin ros-<ROS版本>-glog-catkin

内容的提问来源于stack exchange,提问作者唐啟實

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:15:05