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

相关推荐
Kevin不想说话926191 小时前
Ubuntu 24.04 安装搜狗输入法完整教程
ubuntu
矩阵老炮4 小时前
Ubuntu20.4编译AOSP源码实践
ubuntu·aosp
嵌入式成长家5 小时前
ubuntu rules 使用规则
linux·ubuntu·rules 使用规则
椰汁菠萝6 小时前
ubuntu下免sudo执行docker
ubuntu·docker·免sudo
BD_Marathon6 小时前
ubuntu防火墙使用
linux·ubuntu
Koma_zhe10 天前
【ToolJet远程开发】Ubuntu+Docker结合内网穿透技术搭建ToolJet远程开发环境
linux·ubuntu·docker
从零开始学习人工智能10 天前
在Ubuntu上设置Firefox自动化测试环境:指定Marionette端口号
ubuntu·firefox·腾讯云
Yawesh_best10 天前
从零到一:基于Ubuntu部署MyIP系统并整合内网穿透技术实现远程访问
linux·运维·ubuntu
珺毅同学11 天前
ubuntu24.04+5090显卡驱动安装踩坑
linux·ubuntu·gru
昵称什么的不存在11 天前
Ubuntu 20.04安装Miniconda
linux·运维·ubuntu