ORB-SLAM3 build_ros.sh编译历程

博客讲述了在开发过程中遇到的Python版本不匹配和OpenCV找不到的问题,以及C++版本不符的错误。作者首先解决了Python版本问题,通过修改系统默认Python路径并更新环境变量。然后修复了CMakeLists.txt中OpenCV版本要求的错误,将3.0改为4.0以匹配已安装的OpenCV4.2.0。最后,通过在CMakeLists中设置C++标准为C++11,成功编译并通过单目SLAM实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到的的一个问题是python版本不对

Could NOT find PythonIterp: Found unsuitble version 2.7.18,but required is at list "3"

但是当前使用的python 版本就是3.8,感到很疑惑,后来查到是要修改系统默认的python路径,因为编译时是通过系统路径查找python的,使用以下代码

#删除原来python的链接文件
sudo rm /usr/bin/python
#建立新的python指向,此处示例为:将python3.8建立为新的python链接指向
sudo ln -s /usr/bin/python3.8 /usr/bin/python
#加入环境变量
PATH=/usr/bin:$PATH

之后以为大功告成,结果后来告诉我找不着opencv

CMake Error at CMakeLists.txt:39 (message):
  OpenCV > 2.4.3 not found.

查看cmakelists,我的opencv版本4.2.0,cmakelists里面是3.0,如下代码所示,将3.0改为4.0即可

find_package(OpenCV 3.0 QUIET)
if(NOT OpenCV_FOUND)
   find_package(OpenCV 2.4.3 QUIET)
   if(NOT OpenCV_FOUND)
      message(FATAL_ERROR "OpenCV > 2.4.3 not found.")
   endif()
endif()

之后cmake总算成功了,编译出现老问题,c++版本不对,在cmakelists里头加上如下语句即可,编译成功,开始用单目实时进行slam!!!

set(CMAKE_CXX_STANDARD 11) ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值