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

源码编译Moveit时遇mongo相关未定义引用依赖错误求助

解决MoveIt Indigo源码编译中MongoDB相关链接错误

看起来你在编译Indigo版本的MoveIt源码时碰到了MongoDB相关的链接错误,这类问题大多是依赖库版本不匹配或者编译时没正确链接到MongoDB库导致的,我给你几个针对性的解决步骤:

步骤1:安装对应版本的MongoDB依赖包

Indigo版本的MoveIt需要匹配特定的MongoDB依赖,先执行以下命令安装官方推荐的依赖:

sudo apt-get install ros-indigo-mongodb-store libmongodb-dev

步骤2:手动修正MoveIt仓库包的CMake链接配置

有时候catkin构建系统没能自动关联MongoDB库,你可以手动修改moveit_ros_warehouse包的CMakeLists.txt(路径在你的工作空间src/moveit/moveit_ros/warehouse下),添加以下内容:

find_package( MongoDB REQUIRED )
include_directories( ${MONGODB_INCLUDE_DIRS} )
target_link_libraries( moveit_warehouse_broadcast ${MONGODB_LIBRARIES} )
target_link_libraries( moveit_warehouse_import_from_text ${MONGODB_LIBRARIES} )
target_link_libraries( moveit_save_to_warehouse ${MONGODB_LIBRARIES} )

保存后回到工作空间根目录重新执行编译。

步骤3:清理缓存后重新构建

有时候旧的编译缓存会干扰新的构建过程,先彻底清理再重新配置编译:

catkin clean --all
cd ..
catkin config --extend /opt/ros/indigo --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin build

步骤4:强制安装匹配版本的MongoDB库

如果你的系统安装了过高版本的MongoDB(Indigo通常适配2.6.x系列),会出现链接不兼容的问题,可以尝试安装指定版本:

# 仅针对Ubuntu 14.04(Indigo对应的系统版本)
echo "deb http://archive.ubuntu.com/ubuntu trusty main universe" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install libmongodb-dev=2.6.10-1ubuntu1

内容的提问来源于stack exchange,提问作者Saurabh Mirani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:18:42