[SLAM14讲踩坑笔记]ch5 ubuntu20.04安装opencv3报错以及安装方案

问题背景:最近在学习slam14讲,但我电脑安装的是双系统 win+ubuntu20.04

学习到ch5时候,需要用到opencv3 我在学习slam之前使用的 “小鱼一键安装ros”应该是帮我安装了opencv4

slam14讲的ch5示例 用到opencv3

我使用pkg-config opencv --modversion 还是找不到

在ubuntu20.04上安装opencv3老是报错。

如下:

[SLAM14讲踩坑笔记]ch5 ubuntu20.04安装opencv3报错以及安装方案_第1张图片

【解决方案】

ubuntu20.04上安装opencv3确实特别不好安装,网上查了大量的资料,最后安装成功了。

安装的opencv3版本为3.4.12 成功安装!

步骤如下:

1.先安装依赖(如果之前装了依赖 看哪个需要安装,网上也有非常多的教程)

sudo apt-get install build-essential libgtk2.0-dev libvtk5-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev libtbb-dev

2.下载opecv包,并提取到某位置

下载路径:https://codeload.github.com/opencv/opencv

我使用的是3.4.12 https://docs.opencv.org/3.4.12/d7/d9f/tutorial_linux_install.html

然后进入解压后的文件夹,在终端打开

3.编译安装

接下来在命令行输入:

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 ..

(cmake 这步注意 最好和我一样)————————————————

注意,安装过程中可能会出现一个包ippicv下载过慢,则中断(ctrl+c中断)安装后,自己下载:

https://github.com/opencv/opencv_3rdparty/blob/ippicv/master_20191018/ippicv/ippicv_2020_lnx_intel64_20191018_general.tgz

然后将下载下来的ippicv_linux_xxxxxx.tgz按照下面方式修改

  • 修改ippcv cmaek, 在源码目录下3rdparty/ippicv/ippicv.cmake, ocv_download修改为下面这样,也就是原本是网址替换成自己存放ippcv tar的目录:file:///tmp/3rdparty/ippicv/

  ocv_download(FILENAME ${OPENCV_ICV_NAME}
               HASH ${OPENCV_ICV_HASH}
               URL
                 "${OPENCV_IPPICV_URL}"
                 "$ENV{OPENCV_IPPICV_URL}"
                 "file:///tmp/3rdparty/ippicv/"
               DESTINATION_DIR "${THE_ROOT}"
               ID IPPICV
               STATUS res
               UNPACK RELATIVE_URL)

接着 修改完成后

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 ..

重新进行

make -j4

sudo make install

进行安装

之后就可以编译运行

4.但是 还有坑

fmt

ubuntu20.04还要添加这个

这是我的CmakeLists.txt

[SLAM14讲踩坑笔记]ch5 ubuntu20.04安装opencv3报错以及安装方案_第2张图片

并且运行的时候

把这些都放进build才能运行

[SLAM14讲踩坑笔记]ch5 ubuntu20.04安装opencv3报错以及安装方案_第3张图片

之后就能顺利运行了!!!

注意:每个内部的cmakelist我也进行了更改

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