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即可。

相关推荐
生活很暖很治愈6 小时前
Linux——基础IO&软硬链接
linux·ubuntu
Roc.Chang7 小时前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
Anesthesia丶7 小时前
Ubuntu20.04 升级 Ubuntu24.04 LTS
ubuntu
符哥200810 小时前
Ubuntu 常用指令集大全(附实操实例)
数据库·ubuntu·postgresql
陌上花开缓缓归以11 小时前
linux mtd-utils使用源码分析(ubuntu测试版)
linux·arm开发·ubuntu
大江东去浪淘尽千古风流人物12 小时前
【VLN】VLN仿真与训练三要素 Dataset,Simulators,Benchmarks(2)
深度学习·算法·机器人·概率论·slam
不爱缺氧i13 小时前
ubuntu离线安装mariadb
linux·ubuntu·mariadb
yyy的学习记录15 小时前
Ubuntu下urdf模型转换成proto模型
linux·运维·ubuntu
xixingzhe215 小时前
ubuntu安装gitlab
linux·ubuntu·gitlab
独自归家的兔15 小时前
Ubuntu 系统 systemd timers 详解:替代 crontab 的定时任务进阶方案
linux·运维·ubuntu