Ubuntu24.04编译ORB_SLAM的一系列报错解决

Ubuntu24.04编译ORB_SLAM的一系列报错解决

decay_t报错

报错信息:error: 'decay_t' is not a member of 'std';did you mean 'decay'

将CMakeLists.txt中第17行的c++标准修改为c++14即可:

修改前:

cmake 复制代码
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)

修改后:

cmake 复制代码
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX11)

Pangolin报错

报错信息:gl.hpp:348:5: error: 'glCopyImageSubDataNV' was not declared in this scope

gl.hpp:522:9: error: 'glDeleteRenderbuffersEXT' was not declared in this scope

诸如此类的错误。

这是由于Pangolin版本过高造成的。应编译v0.6版。对于已经运行过sudo make install的目录,首先运行sudo make uninstall,然后将源码版本更改为0.6,再重新编译。完整的命令如下:

bash 复制代码
cd ORB_SLAM3
cd build
sudo make uninstall
cd ..
git checkout v0.6
rm -r build
mkdir build
cd build
cmake ..
make
sudo make install

-lboost-serialization -lcrypto选项报错

原因是系统中找不到boost-serialization和ssl库。运行下面命令安装:

bash 复制代码
sudo apt-get install libboost-all-dev libssl-dev

安装后,再次运行./build.sh即可。

相关推荐
饭来_5 小时前
Ubuntu 环境下创建并启动一个 MediaMTX 的 systemd 服务
ubuntu
努力一点9488 小时前
linux系统底层逻辑 开机顺序 ubuntu22.04系统
linux·运维·服务器·ubuntu·ai·gpu算力
Tipriest_14 小时前
ubuntu 多网络路由优先级问题
网络·ubuntu·路由·多网络
Gene_202216 小时前
Ubuntu 22.04 使用 Issac Gym 进行人形强化学习训练
linux·运维·ubuntu
饭来_1 天前
Python 使用环境下编译 FFmpeg 及 PyAV 源码(英特尔篇)
python·ubuntu·ffmpeg·conda
mzak1 天前
ubuntu24.04安装CUDA和VLLM
人工智能·ubuntu
lxmyzzs1 天前
【已解决】 GStreamer找不到编码器
ubuntu·bug·视频编解码
chenment1 天前
踩坑 WSL2 安装 MySQL 失败
linux·mysql·ubuntu
点云SLAM2 天前
矩阵中QR算法分解简介和基于Eigen库使用示例
人工智能·线性代数·算法·矩阵·slam·qr矩阵分解算法·数值线性代数
yuzx20082 天前
ubuntu 24.04 xfce4 钉钉输入抢焦点问题
linux·ubuntu·钉钉