ubuntu20.04配置opencv3.4.1,解决编译失败问题

网络一定要好!!!!!!!!!!!!!!!!!!!!!!

一定要网好,网络一般情况下是最最重要的,网不好的时候,可能一些下载日志里的文件下载不下来,一定要确保网络条件好

首先虚拟机先安装好VMware tools哦,要不然无法共享剪贴板就很难受了

然后一定要换源,要不然下载巨慢

打开命令行:先更新一下

sudo apt-get update
sudo apt-get upgrade

安装mlocate

sudo apt-get install mlocate

安装cmake-gui

sudo apt-get install cmake-qt-gui

然后是一些依赖包,不管三七二十一,全给下了

sudo apt install openssl libssl-dev mingetty zip unzip git curl vim gcc g++ -y
sudo apt install socat zsh  curl git vim make cmake -y
sudo apt install autojump -y
sudo apt-get install -y libtiff5-dev libeigen3-dev
sudo apt install -y git gcc g++ make cmake libgtk2.0-dev libgoogle-glog-dev 
sudo apt install -y libtesseract-dev libgtkglext1 libgtkglext1-dev ffmpeg
sudo apt install -y libv4l-0 libv4l-dev
sudo apt install -y liblapacke-dev libopenblas-dev libgtk-3-dev libgstreamer-plugins-base1.0-dev 
sudo apt install -y libgstreamer1.0-dev libavresample-dev libgphoto2-dev libdc1394-22-dev
sudo apt-get install -y build-essential make cmake cmake-curses-gui git g++ pkg-config curl
sudo apt-get install -y libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libeigen3-dev libglew-dev libgtk2.0-dev
sudo apt-get install -y libdc1394-22-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y libjpeg8-dev libjpeg-turbo8-dev libtiff-dev libpng-dev
sudo apt-get install -y libxvidcore-dev libx264-dev libgtk-3-dev
sudo apt-get install -y libatlas-base-dev libopenblas-dev liblapack-dev liblapacke-dev gfortran
sudo apt-get install -y qt5-default
sudo apt-get install -y python3-dev python3-testresources
sudo apt-get install -y libcanberra-gtk-module

然后下载opencv和opencv-contrib

wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.1.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.1.zip
unzip opencv.zip
unzip opencv_contrib.zip

在你的主页面会得到两个文件夹

 进入opencv-3.4.1

cd opencv-3.4.1
mkdir build
cd build 
cmake-gui .. 
然后会弹出CMake的图形化界面,在上方的两个路径里面,
一般情况下会设置好的,
如果没设置的话,选择好代码所在文件夹的路径和要安装的路径

点击左下方的Configure按钮,选择Unix Makefiles,
选择Use default native compilers(默认),
然后点击Finish

需要下载一些文件,要等待一段时间。然后CMake即载入默认配置


一定不要着急,看着不动可能是在下载一些东西,别着急
在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。

在OPENCV_EXTRA_MODULES_PATH处,选择输入目录

然后选择opencv_contrib-3.4.1 文件夹中的modules文件夹

eg:/home/ubuntu64/opencv_contrib-3.4.1/modules

OPENCV_ENABLE_NONFREE 选中(SURF 专利问题)

点击Generate生成配置文件

这里也不要着急,也是需要时间的

接着,进入到build文件夹下

cd opencv-3.4.1
ls
cd build
sudo make -j4  (后面的数字是编译线程数,加快编译速度的,看自己配置)

这里可能会出现几个错误,一般情况下都是文件路径用错

/home/ubuntu/opencv-3.4.1/modules/stitching/include/opencv2/stitching/detail

  /matchers.hpp:52:12: fatal error: opencv2/xfeatures2d/cuda.hpp: 没有那个文件或目录

还有可能是别的文件啥的,都是一个解决办法:
先找到这个文件夹/home/ubuntu/opencv3.4.1/modules/stitching/include/opencv2/stitching/detail/matchers.hpp
打开,找到那一行,然后复制错误的头文件,比如这种情况,复制cuda.hpp,
然后打开文件管理搜索这个文件,右键属性,复制路径,粘贴到matchers.hpp的相同位置即可

还有一种是缺少一个文件

fatal error: boostdesc_bgm.i: 没有那个文件或目录 #include "boostdesc_bgm.i"

 文件我放到这个连接下了,下载后解压,然后将里面的文件全都拖到报错的文件夹下即可

链接:https://pan.baidu.com/s/1eGegNQ7Hv4WfvRkjAIeaOw 
提取码:dupf

还有一种是编译到98%的时候的一个错误,可以看这篇文章

https://blog.csdn.net/qq_52926110/article/details/122730891?spm=1001.2014.3001.5501

继续编译

sudo make -j4
sudo make install

配置环境变量

sudo gedit /etc/ld.so.conf.d/opencv.conf

添加到最后:/usr/local/opencv-3.4.1/lib

sudo ldconfig

sudo gedit /etc/bash.bashrc

添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4/lib/pkgconfig 
export PKG_CONFIG_PATH


保存退出
source /etc/bash.bashrc
sudo updatedb

配置生效

完成即可

使用时只需要包含工程文件即可

INCLUDEPATH += /home/ubuntu64/opencv-3.4.1/include \
/home/ubuntu64/opencv-3.4.1/include/opencv \
/home/ubuntu64/opencv-3.4.1/include/opencv2

LIBS += /usr/local/lib/lib*

感谢

https://www.cnblogs.com/tanshengjiang/p/13861494.html

https://blog.csdn.net/zhangjunhit/article/details/85156760

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

everything willbe OK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值