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

OpenREALM_ROS1_Bridge编译报错Boost::filesystem与FLANN::FLANN未找到

问题原因

该报错是因为realm_ros包的CMakeLists.txt未正确配置Boost.filesystem和FLANN依赖的导入目标,导致CMake链接时找不到对应的库配置,可按以下步骤修复:

1. 安装系统依赖

首先确保两个依赖的开发包已安装,Ubuntu系统执行以下命令:

sudo apt update && sudo apt install libboost-filesystem-dev libflann-dev

2. 修改realm_ros的CMake配置

找到工作空间下的src/OpenREALM_ROS1_Bridge/realm_ros/CMakeLists.txt文件,在文件开头的find_package配置区域(位于project指令之后)补充以下内容:

# 查找Boost.filesystem依赖
find_package(Boost REQUIRED COMPONENTS filesystem)
# 兼容老版本Boost无导入目标的情况
if(NOT TARGET Boost::filesystem)
  add_library(Boost::filesystem UNKNOWN IMPORTED)
  set_target_properties(Boost::filesystem PROPERTIES
    IMPORTED_LOCATION "${Boost_FILESYSTEM_LIBRARY}"
    INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}"
  )
endif()

# 查找FLANN依赖
find_package(FLANN REQUIRED)
# 兼容FLANN无导入目标的情况
if(NOT TARGET FLANN::FLANN)
  add_library(FLANN::FLANN UNKNOWN IMPORTED)
  set_target_properties(FLANN::FLANN PROPERTIES
    IMPORTED_LOCATION "${FLANN_LIBRARIES}"
    INTERFACE_INCLUDE_DIRECTORIES "${FLANN_INCLUDE_DIRS}"
  )
endif()

3. 清理缓存重新编译

在catkin工作空间根目录执行以下命令清理错误编译缓存,再重新执行编译命令:

rm -rf build devel
catkin_make -DCMAKE_BUILD_TYPE=Release

如果你的Boost或FLANN是源码编译安装到自定义路径的,编译时补充前缀路径参数即可:
catkin_make -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="/你的Boost安装路径;/你的FLANN安装路径"


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:39:02