ubuntu16.04下编译ORB_SLAM3时出现的问题及解决方法

本文详细介绍了在ROS环境中遇到的Python环境配置问题及解决方案,包括如何正确设置Python版本,解决rospkg模块未找到的问题,以及在编译ROS接口时遇到的头文件缺失和依赖库问题的处理方法。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1. no module named rospkg

首先在终端使用python -V看一下当前环境使用的python版本,如果版本不是python2.7则需要更改到python2.7。

  1. 如果是之前系统安装了anaconda或者miniconda则需要在bashrc里面屏蔽其环境。
  2. 如果是之前切换了版本则使用 sudo update-alternatives --config python 切换回python2.7

如果此时依然出现这个错误,则可能是没有安装这个包,sudo pip install rospkg安装,若安装后仍然添出错,则可能是没有加python2.7的环境变量,使用命令

echo $PYTHONPATH

查看是否有包含

/usr/lib/python2.7/dist-packages

没有则输入

export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages

或将其者添加到bashrc里面。此时编译应该不会再报错。

注意:如果build目录下之前有编译生成的文件,在调整后再次编译之前最好将其删除重新编译。原因是之前生成的文件中包含原有环境变量,如果再次编译依然会加载原有的环境。

2.在编译ROS接口时出现的系列错误

  • GeometricCamera.h、KannalaBrandt8.h、Pinhole.h文件找不到

这三个文件其实在 ORB_SLAM3/include/CameraModels 目录下,可以将其复制到include目录下即可。

  • rospack found package "ORB_SLAM2"

将src里面的所有源码中的ORB_SLAM2改为ORB_SLAM3即可。

  • 如果之前编译过ORB_SLAM其他版本,可能会出现找不到boost库的情况

在cmakelist里面${LIB}里面添加boost_system boost_filesystem即可。

 

 

 

 

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尼莫的混沌海域

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值