Ubuntu下编译opencv4.5遇到的问题及解决方法

一、编译opencv4.5的步骤

1、安装依赖项

sudo apt update
sudo apt install build-essential cmake git pkg-config \
libjpeg-dev libtiff-dev libpng-dev \
libavcodec-dev libavformat-dev libswscale-dev \
libv4l-dev libxvidcore-dev libx264-dev \
libgtk-3-dev libatlas-base-dev gfortran \
python3-dev python3-numpy \
libdc1394-22-dev libopenblas-dev \
liblapack-dev libhdf5-dev libprotobuf-dev \
protobuf-compiler libgoogle-glog-dev \
libgtest-dev libtbb2 libtbb-dev

2、下载OpenCv源代码

cd ~
git clone -b 4.5.0 https://github.com/opencv/opencv.git
git clone -b 4.5.0 https://github.com/opencv/opencv_contrib.git

3、创建构建目录

cd ~/opencv
mkdir build
cd build

4、使用cmake配置构建

cmake -DOPENCV_EXTRA_MODULES_PATH=~/edcc/opencv_contrib/modules -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..

5、编译Opencv

make -j$(nproc)

-j$(nproc) 表示使用所有可用的处理器核心进行并行编译,提高编译速度。

6、安装OpenCv

sudo make install

7、更新库缓存

sudo ldconfig

8、验证安装

import cv2
print(cv2.__version__)

二、出现的问题

错误1

在opencv的构建过程中,在第5步进行编译的时候,出现了下面的问题。

In file included from /mnt/c/Users/AppData/Local/anaconda3/Library/include/hdf5.h:21,
                 from /home/user/edcc/opencv_contrib/modules/hdf/src/hdf5.cpp:37:
/mnt/c/Users/AppData/Local/anaconda3/Library/include/H5public.h:285:19: error: conflicting declaration ‘typedef long long int ssize_t’
  285 | typedef long long ssize_t;
      |                   ^~~~~~~
In file included from /usr/include/stdlib.h:395,
                 from /usr/include/c++/11/cstdlib:75,
                 from /usr/include/c++/11/stdlib.h:36,
                 from /usr/lib/gcc/x86_64-linux-gnu/11/include/mm_malloc.h:27,
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值