【aloam】ubuntu20.04 配置 aloam 环境,编译过程报错及成功解决方法

为什么写这篇博客

  • ALOAM是slamer的必经之路,official提供的基础环境推荐ubuntu16.04或者18.04,而我用20.04已经有一段时间了,不方便换,但由于其他原因也不得不去配置。过程中出现了几个问题,在这里也就20分钟,在这里记录下来。

基础环境

  • ubuntu 20.04;
  • opencv == 4.2.0;(查询命令:opencv_version)
  • Ceres solver已经配置过了;
  • pcl == 1.10.0;(查询命令:apt-cache show libpcl-dev)

ALOAM 编译过程

  • git速度太慢,这里用手机开了热点,按照下面的命令,10s解决
xml 复制代码
    cd ~/catkin_ws/src
    git clone https://github.com/HKUST-Aerial-Robotics/A-LOAM.git
    cd ../
    catkin_make
    source ~/catkin_ws/devel/setup.bash

过程中的错误

  • 报错1 ------ python里面缺少"empy"
xml 复制代码
-- Could NOT find PY_em (missing: PY_EM) 
CMake Error at /opt/ros/noetic/share/catkin/cmake/empy.cmake:30 (message):
  Unable to find either executable 'empy' or Python module 'em'...  try
  installing the package 'python3-empy'
Call Stack (most recent call first):
  /opt/ros/noetic/share/catkin/cmake/all.cmake:164 (include)
  /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:58 (find_package)

报错1的解决方案

  • 解决方案里面的原话:
xml 复制代码
	catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
  • 报错2 ------ c++的错误
xml 复制代码
const int NrDims = pcl::traits::datatype<PointDefault, Key>::size;
      |                   ^~~~~~
/usr/include/pcl-1.10/pcl/point_representation.h:252:48: note: in template argument for type 'int'
xml 复制代码
- 在CMakeLists当中,改成C++17。【我看你用了pcl1.10,估计要用c++ 17编译吧,改下cmakelist,这是下面解决方案的原话】

报错2的解决方案

  • 报错3 ------ opencv的错误
xml 复制代码
error: 'CV_LOAD_IMAGE_GRAYSCALE' was not declared in this scope    91 |         
cv::Mat left_image = cv::imread(left_image_path.str(), CV_LOAD_IMAGE_GRAYSCALE); 
  • 解决
    • 这里直接改个函数就好了,很简单
    • 这个错误提示表明在你的代码中使用了CV_LOAD_IMAGE_GRAYSCALE,但编译器无法识别这个符号。这是因为OpenCV的旧版本中使用了CV_LOAD_IMAGE_GRAYSCALE,但在新版本中已经更改为cv::IMREAD_GRAYSCALE。
  • 报错4 ------ 导入opencv的错误
xml 复制代码
fatal error: opencv/cv.h: 没有那个文件或目录
   44 | #include <opencv/cv.h>
  • 解决方法:将报错的整行都删掉,替换成下面这个
xml 复制代码
#include <opencv2/opencv.hpp>

小结:基本上就是上面这几个错误,编译成功见下图。顺序可能跟当时遇到的不一致,但是一定都出现了。

相关推荐
脱脱克克7 小时前
OpenClaw 安装与配置全教程(Ubuntu 全新虚拟机版)
ubuntu·环境配置·openclaw
_OP_CHEN17 天前
【MySQL数据库基础】(一)保姆级 MySQL 环境配置教程!CentOS 7+Ubuntu 双系统全覆盖
linux·数据库·sql·mysql·ubuntu·centos·环境配置
youcans_20 天前
【跟我学YOLO】YOLO26(3)安装配置与快速使用
图像处理·yolo·目标检测·计算机视觉·环境配置
charlie1145141911 个月前
RK3568跑Arch Linux全路程指南(以正点原子的RK3568开发板为例子)
linux·嵌入式·rootfs·教程·环境配置·嵌入式linux·工程实践
charlie1145141911 个月前
SSH X11 转发排查与解决指南(Windows + Xming + Ubuntu)
arm开发·windows·笔记·ubuntu·ssh·个人开发·环境配置
charlie1145141911 个月前
RK3568跑Ubuntu 24.04全路程指南(以正点原子的RK3568开发板为例子)
linux·笔记·ubuntu·rootfs·教程·环境配置·rk3568
腾飞开源1 个月前
03_Dify 使用 Docker Compose 部署
环境配置·docker compose·dify·docker部署·容器化部署·ai开发平台·dify开源平台
●VON2 个月前
Flutter for OpenHarmony 21天训练营 Day01 总结:从零搭建开发环境
flutter·环境配置·openharmony·训练营·跨平台开发·von
wrj的博客2 个月前
python环境安装
python·学习·环境配置
抠头专注python环境配置2 个月前
2026终极诊断指南:解决Windows PyTorch GPU安装失败,从迷茫到确定
人工智能·pytorch·windows·深度学习·gpu·环境配置·cuda