E: 无法定位软件包 python-numpy
E: 无法定位软件包 libdc1394-22-dev 一直没有找到
2.运行问题出现了闪退
在CMAKELISTS中删除-march=native
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -O3 -march=native ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -march=native")
在Thirdparty/g2o/CMakeLists.txt中删除-march=native
# Compiler specific options for gcc
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -march=native")
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -march=native")
3.pkg-config opencv4 --modversion
而且这里因为opencv4与opencv3的区别运行找不到opencv
这里还了一个版本
https://github.com/Windfisch/ORB_SLAM2
https://github.com/raulmur/ORB_SLAM2
注意区分看星星
4.cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv310 -D ENABLE_PRECOMPILED_HEADERS=OFF -D OPENCV_EXTRA_MODULES_PATH=/home/stella/slambase/opencv-3.1.0/opencv_contrib-3.1.0/modules ..
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv310 -D ENABLE_PRECOMPILED_HEADERS=OFF -D
WITH_TBB=ON -D WITH_V4L=ON -D WITH_FFMPEG=ON -D WITH_OPENGL=ON -D BUILD_TIFF=ON -D WITH_VTK=ON -D
BUILD_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=/home/stella/slambase/opencv-3.1.0/opencv_contrib-3.1.0/modules ..
5./home/stella/slambase/opencv-3.4.0/opencv_contrib-3.4.0/modules/stereo/src/descriptor.cpp:230:33: error: ordered comparison of pointer with integer zero (‘const int*’ and ‘int’)
230 | CV_Assert(cost.size > 0);
| ~~~~~~~~~~^~~
/home/stella/slambase/opencv-3.4.0/modules/core/include/opencv2/core/base.hpp:458:35: note: in definition of macro ‘CV_Assert_1’
458 | #define CV_Assert_1( expr ) if(!!(expr)) ; else cv::error( cv::Error::StsAssert, #expr, CV_Func, __FILE__, __LINE__ )
| ^~~~
/home/stella/slambase/opencv-3.4.0/opencv_contrib-3.4.0/modules/stereo/src/descriptor.cpp:230:13: note: in expansion of macro ‘CV_Assert’
230 | CV_Assert(cost.size > 0);
| ^~~~~~~~~
这里直接注释掉了CV_Assert(cost.size > 0); 在代码中
6.
方式1.注意在安装软件时一般是
通过 mkdir build cd build cmake .. make sudo install 完成
但是在orbslam中也就是别人写好的工程中
在clion中直接配置好进行debug 可能会直接报错
类似于缺少.so 文件这种
原因是还没有开始编译,需要进行工程编译后就可以debug了
解决方式有两个 一个是方式一
方式二 就是直接进行./build.sh
之后就可以了
7.安装opencv 多版本共存
opencv310 出现错误无法解决 类似videoio 模块错误ffmpeg
选择opencv340进行安装
Ubuntu 源码安装opencv320 报错 error: 'CODEC_FLAG_GLOBAL_HEADER' was not declared in this scope_Lay_Nobody的博客-CSDN博客
unsupported/Eigen/MatrixFunctions: No such file or directory_一抹烟霞的博客-CSDN博客
ubuntu18.04安装OpenCV3.4.3遇到的一些问题_布娃娃爱吃糖的博客-CSDN博客
文件找不到要添加定义或者下载文件网不好,添加一下文件
pkg-config --modversion opencv
查看版本
以及orbslam报错
ORB-slam2编译时报错‘usleep’ was not declared in this scope__Evanism.�的博客-CSDN博客
但是还没有解决闪退问题
为了解决闪退安装了多版本eigen3
这个是安装eigen多版本共存 目前有三个版本(为了解决opencv340的slam闪退问题)
gedit /usr/include/eigen3/Eigen/src/Core/util/Macros.h
Eigen3 340
include_directories("/usr/include/eigen314/include/eigen3")
cmake -DCMAKE_INSTALL_PREFIX=/usr/include/eigen314 ..
314 会报错误
320 报错误
329 plslam 推荐
目前的情况是
opencv455 orbslam 可以正常运行
opencv340 orbslam 闪退(其实不主要,主要是想用plslam)
8.
usr/include
安装了多版本的
eigen3
eigen320
eigen314
eigen329
usr/local
opencv310
opencv340
opencv455
没安装上的是
usr/include
mrpt200
mrpt230
usr/local
wxWidgets
/home/stella/slambase/no
这里是没安装上的软件