wordpress sportsline,太原seo代理商,关于旅游网站建设的摘要,网站建设需要注意哪些内容在复现过程中遇到的问题的解决过程 1. 版本检查1.1 Opencv版本的检测1.2 Eigen版本的检测1.3 查看Python版本1.4 其他 2. 编译过程中遇到的问题及解决办法2.1 ./build.sh遇到的问题2.2 ./build_ros.sh遇到的问题 因为环境比较干净#xff0c;所以遇到的问题相对少一些#xf… 在复现过程中遇到的问题的解决过程 1. 版本检查1.1 Opencv版本的检测1.2 Eigen版本的检测1.3 查看Python版本1.4 其他 2. 编译过程中遇到的问题及解决办法2.1 ./build.sh遇到的问题2.2 ./build_ros.sh遇到的问题 因为环境比较干净所以遇到的问题相对少一些不过每一个问题都进行了完善的解决 我的环境是刚装完Ubuntu20.04之后并进行了Ubuntu系统安装之后首需要做的事情的操作之后的一个环境。
1. 版本检查
因为ORB-SLAM3对环境的要求和ORB-SLAM2有一些不一样有的版本过低是会导致错误的。 所以在开始之前先来检测一下自己环境中的库的版本。 注意使用的是Ubuntu20.04
1.1 Opencv版本的检测
执行以下命令可以发现版本为4.2.0
pkg-config --modversion opencv
# 4.2.0
//或者
opencv_version
# 4.2.01.2 Eigen版本的检测
执行以下命令
whereis eigen3
# 我的是在/usr/include/eigen3
gedit /usr/include/eigen3/Eigen/scr/Core/util/Macros.h文件开头的几行如下所示意味着我的Eigen版本为3.3.7
#ifndef EIGEN_MACROS_H
#define EIGEN_MACROS_H#define EIGEN_WORLD_VERSION 3
#define EIGEN_MAJOR_VERSION 3
#define EIGEN_MINOR_VERSION 7
1.3 查看Python版本
执行以下命令
xiaoduanfighter:~$ python3 --version
Python 3.8.10也可以在终端输入python接着连着按两下tab键也能看到自己的python版本。
1.4 其他 在c方面我的是C11。DBoW2 and g2o在项目文件中直接存在无需手动安装在编译的过程中会自动安装。Pangolin还没有安装。 2. 编译过程中遇到的问题及解决办法
2.1 ./build.sh遇到的问题
1. 问题一
出现下图所示错误 原因分析
版本不匹配所以更改版本即可。
解决办法 打开文件/home/xiaoduan/project/source2/orb_slam3/CMakeLists.txt 更改以下两个内容 第33行Opencv的版本改为4第41行Eigen的版本改为3 2. 问题二
错误展示 ‘slots_reference’ was not declared in this scope 1180 | cow_copy_typelist_type, Lockable 原因分析 因为我的是C11这里C 11 不支持本项目的一些编译把 C版本换到 C14 就可以了
解决办法在终端输以下命令
sed -i s/11/14/g CMakeLists.txt3. 问题三
错误展示 ./Monocular/mono_euroc: error while loading shared libraries: libpango_windowing.so: cannot open shared object file: No such file or directory 原因分析
原因一:运行的文件夹位置不对注意看自己运行命令时的位置保证能够找到运行的文件。 原因二配置文件没生效
解决办法
针对第一种情况只需要cd到对应的文件夹中即可。针对第二种情况执行以下命令即可
sudo ldconfig2.2 ./build_ros.sh遇到的问题
1. 问题一
错误展示 Error: the rosdep view is empty: call ‘sudo rosdep init‘ and ‘rosdep update‘ 原因分析
因为ROS是一键安装的所以rosdep没有进行初始化所以只需要执行终端报错中的提示语句即可
解决办法
执行以下命令
sudo rosdep fix-permissions
sudo rosdep init
rosdep update注意 在这个过程中可能会由于网络问题总是不成功所以多进行几遍就好了。如果实在不行运行一个sudo apt install python2在重新执行。
2. 问题二
错误展示 ‘slots_reference’ was not declared in this scope 1180 | cow_copy_typelist_type, Lockable 原因分析
版本不匹配所以更改版本即可。
解决办法 打开文件/home/xiaoduan/project/source2/orb_slam3/Examples_old/ROS/ORB_SLAM3/CMakeLists.txt 更改以下两个内容 第33行Opencv的版本改为4第41行Eigen的版本改为3 3. 问题三
错误展示 fatal error: sophus/se3.hpp: No such file or directory 29 | #include sophus/se3.hpp 原因分析
找不到sophus文件的位置添加即可。
解决办法
打开文件
/home/xiaoduan/project/source2/orb_slam3/Examples_old/ROS/ORB_SLAM3/CMakeLists.txt
第49行加入
${PROJECT_SOURCE_DIR}/../../../Thirdparty/Sophus4. 问题四
错误展示 /usr/local/include/sigslot/signal.hpp:1180:65: error: ‘slots_reference’ was not declared in this scope cow_copy_typelist_type, Lockable ref slots_reference(); 原因分析 因为我的是C11这里C 11 不支持本项目的一些编译把 C版本换到 C14 就可以了
解决办法 在终端输以下命令
sed -i s/11/14/g CMakeLists.txt5. 问题五
错误展示 4. 问题四 错误展示 /usr/local/include/sigslot/signal.hpp:1180:65: error: ‘slots_reference’ was not declared in this scope cow_copy_typelist_type, Lockable ref slots_reference(); 原因分析 Sophus::SE3f, cv::MAT,Eigen::Vector3f类型转换报错应该是不能直接转换不过可以换个办法
解决办法在终端输以下命令
sed -i s/11/14/g CMakeLists.txt原因分析 因为我的是C11这里C 11 不支持本项目的一些编译把 C版本换到 C14 就可以了
解决办法 解决办法参考文章ORB-SLAM3复现的详细过程——配置安装及ROS和脚本运行—Ubuntu20.04中的2.4。按照2.4的步骤进行修改源码即可。
至此就是我遇到的所有的问题。