博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu18.04下opencv3.4.3编译与安装,及常见问题记录
阅读量:3905 次
发布时间:2019-05-23

本文共 2184 字,大约阅读时间需要 7 分钟。

引言

博主前段时间在搞tensorrt的INT8量化的时候,安装opencv,连续安装了好几次都报错,一直放着没解决。

最近项目需要,又得自己安装opencv,然后一次莫名奇妙的成功,一次顺顺利利,特来做个总结,记录一下。

编译安装过程记录

所需要的版本

选择所需要的版本,然后点 Source code(zip)下载,这里版本下的是3.4.3,这个版本安装好像比较顺利(忘了之前安装失败的版本是什么了)。

首先,安装一些依赖,根据自己的情况选择,如果不知道自己安装了那些依赖,就都输入一遍,如果已经安装系统会自动跳过,不会重复安装

sudo apt-get install build-essentialsudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

然后

unzip opencv-3.4.3.zip# 你的opencv的zip文件cd ~/opencv-3.4.3  # 进入opencv文件夹mkdir build # 创建build文件夹cd build # 进入build文件夹 #cmake指令,如果没有特殊要求建议就选择默认的就可以#注意,后面的两个点千万不能省,代表了上级目录cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..  make -j7 # 多线程执行make任务 # 最后一步,安装库文件sudo make install #安装完成

中途没报错,就是安装成功了。

常见问题

1. Ubuntu18.04下安装OpenCv依赖包libjasper-dev无法安装的问题
sudo apt-get install libjaster-dev

提示:errorE: unable to locate libjasper-dev

解决方法

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"sudo apt updatesudo apt install libjasper1 libjasper-dev

成功的解决了问题,其中libjasper1是libjasper-dev的依赖包

上面方法博主亲测有用,如果你使用上面方法不行的话,可以参考该博客的评论区方法:,呼声很高!!!

之前遇到的话,网上的解决方法是靠全部更改为老版本的清华源 替换原有 /etc/apt/sources.list,此方法个人建议不要尝试,替换后可能导致下次安装包的时候,和已有的包产生版本不兼容问题。当然如果你自己能承担这种风险,完全ojbk,随手甩一个链接:

2. Unable to correct problems, you have held broken packages

由于安装包的版本太新,其依赖包和旧版本冲突导致

在这里插入图片描述

Linux下经常需要安装不同类型的库,在Ubuntu中,这些类库都是以“lib_name-version”的形式命名的。很多库之间存在依赖关系,即要安装这个就必须安装那个。有时候,类库之间依赖关系无法满足,你所要安装的程序就不能安装。

这类问题大多是由于相互依赖的几个库中一个或多个的版本已经更新,而用户要安装的库依赖于这几个库的较低的版本。

这也就是我之前前几次一直遇到的问题,博主试了很多种方法,增加源以及下面的方法,都不行

sudo aptitude install xxxx# xxxx为你要安装的程序的名字)

这个方法需要安装aptitude

aptitude与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude在处理依赖问题上更佳一些。举例来说,aptitude在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。

但是网上有人说这个工具跟apt-get命令不兼容,二者只能存在一个,博主自己安装了aptitude,最终也没能成功安装和编译,如果哪天有遇到,再来这里记录补充。

来自两位博友的评论:

温馨提醒:aptitude包(命令)与apt-get包(命令)不兼容,二者只能取其一,安装前请慎重。
ubuntu 18.04 安装aptitude不能使用,导致apt-get也被卸载。需要重新下载deb包,用dpkg安装,各位童鞋慎重。

其他方法

上一次遇到这个问题,博主直接跳过了,直接解压opencv(亲测在opencv3.4.3可以),然后编译成功了,而且使用起来也没有什么问题。其他版本的话,不清楚,建议实在不知道解决方法的时候,可以侥幸的试试hhhhh

3. 待补充

转载地址:http://djxen.baihongyu.com/

你可能感兴趣的文章
推荐几篇图片隐写技术的文章
查看>>
作文纸条APP分析
查看>>
三层APP架构的思考
查看>>
Ubuntu及Terminal常用快捷键
查看>>
有关XMLStarlet
查看>>
android工程build脚本中target的依赖
查看>>
有关android工程的构建脚本(build.xml)的学习
查看>>
有关java的编译过程-类文件存在词法或语法错误时
查看>>
有关Android APK的反编译(简要的说明)
查看>>
有关使用xsl输出csv格式文档的实践小结
查看>>
在Ubuntu 12.04 为 Eclipse 添加快速启动项
查看>>
GCC强大背后
查看>>
C++强大背后
查看>>
Android x86模拟器Intel Atom x86 System Image配置与使用方法
查看>>
shell脚本兼容linux/unix与windows/cygwin的基础(注意处理好CR, LF, CR/LF 回车 换行的问题)
查看>>
【分享】手把手教你使用U盘安装Ubuntu系统
查看>>
Ubuntu下adb无法识别android设备的解决方法
查看>>
使用U盘安装Ubuntu系统的实践小结
查看>>
编译cscope-15.8a遇到的问题与解决方案
查看>>
ubuntu下海信Hisense E920 usb连接不上的处理与adb的连接
查看>>