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

相关推荐
bing_feilong13 小时前
Mid360(2):运行livox_ros_driver2的demo失败
ubuntu·机器人
Code_LT19 小时前
【AIGC】Claude Code Rules配置
linux·ubuntu·aigc
TroubleMakerQi21 小时前
[虚拟机环境配置]07_Ubuntu中安装vscode教程
linux·人工智能·vscode·ubuntu
ken22321 天前
在ubuntu终端里, 怎样让历史不要记录本条命令:禁止记录包含密码之类的命令
linux·运维·ubuntu
i建模1 天前
Ubuntu系统中安装NVIDIA驱动
linux·运维·ubuntu
张3蜂1 天前
Ubuntu Linux 与 Ubuntu with Rosetta:深入解析两者的区别与适用场景
linux·运维·ubuntu
廿一夏1 天前
搭建Ubuntu 虚拟机与部署docker
linux·ubuntu·docker
千里马-horse1 天前
ubuntu 电脑安装protoc-gen-grpc-kotlin
linux·运维·ubuntu
柯儿的天空1 天前
【OpenClaw 全面解析:从零到精通】第 004 篇:OpenClaw 在 Linux/Ubuntu 上的安装与部署实战
linux·人工智能·ubuntu·elasticsearch·知识图谱
开开心心就好1 天前
免费无广告的礼金记账本,安卓应用
java·前端·ubuntu·edge·pdf·负载均衡·语音识别