Ubuntu20.04(Noetic)下编译laser_filters失败求助
ROS Noetic编译laser_filters报错解决办法
环境:Ubuntu 20.04 + ROS Noetic,手动编译laser_filters时遇到如下编译错误:
使用catkin_make时的错误
CMake Error at /opt/ros/noetic/share/catkin/cmake/catkin_workspace.cmake:100 (message): This workspace contains non-catkin packages in it, and catkin cannot build a non-homogeneous workspace without isolation. Try the 'catkin_make_isolated' command instead. Call Stack (most recent call first): CMakeLists.txt:69 (catkin_workspace) -- Configuring incomplete, errors occurred! See also "/home/limlab/filter_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/limlab/filter_ws/build/CMakeFiles/CMakeError.log". Invoking "cmake" failed
使用catkin_make_isolated时的错误
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ traversing 1 packages in topological order: ~~ - laser_filters (unknown) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Error: Packages with unknown build types exist Can not build workspace with packages of unknown build_type
解决步骤
检查包的存放路径
确保laser_filters源码放在工作空间的src目录下,而非工作空间根目录。正确结构应为:filter_ws/src/laser_filters/。验证包配置文件完整性
进入laser_filters包目录,检查package.xml是否包含以下关键内容:<buildtool_depend>catkin</buildtool_depend><build_type>catkin</build_type>(catkin类型包必填)
同时确认CMakeLists.txt开头有cmake_minimum_required(VERSION ...)和find_package(catkin REQUIRED ...)等标准catkin包配置项。
清理并重新编译
删除之前生成的编译文件,重新执行编译:cd ~/filter_ws rm -rf build devel install catkin_make若仍有问题,可尝试使用
catkin build(需先安装catkin_tools:sudo apt install ros-noetic-catkin)。快速替代方案:直接安装预编译包
若无需修改laser_filters源码,直接通过apt安装官方预编译版本即可:sudo apt-get install ros-noetic-laser-filters
内容的提问来源于stack exchange,提问作者reiya
相关产品推荐
相关产品推荐

