ubuntu安装备注

1.安装依赖问题
libpng12-dev 改成 libpng-dev
E: 无法定位软件包 libjasper-dev  换了新源(jammy22.04)
最新ubuntu22.04 下列软件包有未满足的依赖关系 解决方案-pudn.com

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

这里是没安装上的软件

你可能感兴趣的:(ubuntu,ffmpeg,opencv)