树莓派使用c++ qt 编译opencv流程

本文详细介绍了在树莓派Bullseye系统上安装QT5的步骤,包括遇到的`qt5-default`无法安装的问题。同时,文章讲述了如何从源码编译OpenCV4,处理找不到头文件的错误,以及配置环境变量。最后提到了安装clang以支持C++开发的必要性。
摘要由CSDN通过智能技术生成

1、安装qt。

我是用的是bullseye版本的树莓派,32位和64位的都用过,均只能使用下述命令来安装。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install qtbase5-dev qtchooser
$ sudo apt-get install qt5-qmake qtbase5-dev-tools
$ sudo apt-get install qtcreator
$ sudo apt-get install qtdeclarative5-dev

上述命令来自下面这条博客
(85条消息) 树莓派bullseye 系统安装QT5_bullseye安装pyqt5_Li丶Chong的博客-CSDN博客

(另一种常见的方法使用下面这个命令:

        sudo apt-get install qt5-default

但是我使用这条命令始终显示没有下载候选选项,更换了下载源后依旧无法找到,因此应该是树莓派版本问题。)

2、编译opencv。

        这个烦得很。

        (a)首先去opencv官网下载源码(即sources选项),然后放到树莓派中。进入opencv文件夹,创建build文件,进入build文件,输入cmake .. ,再输入make -j4(若这一过程中突然停掉,可能是swap空间不够,按照网上的方式开辟一块就可以了),最后再输入sudo make install。(其实这一段都是很常规的步骤,网上这样讲的方法也很多,可参考这个博客(85条消息) 树莓派安装使用 opencv c++版本_Lin_QC的博客-CSDN博客

        此外,如果(96条消息) 为什么OpenCV4 “pkg-config --modversion opencv”显示“ No package ‘opencv‘ found”?解决方法!_no package 'opencv' found_疯狂的蕉尼基的博客-CSDN博客

        (b)重点讲接下来可能出现的报错怎么整。首先就是在使用qt过程中引入opencv的话可能会报错找不到opencv的各种头文件(其实4.几的版本只需要一个#include<opencv2/opencv.hpp>就够了),那我们首先需要配置一下opencv.conf。首先输入如下命令:

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

         然后输入如下内容: /usr/local/lib

         保存退出,输入 sudo ldconfig 命令以更新动态链接库。

        再配置一下bash.bashrc。首先输入如下命令:

                          sudo nano /etc/bash.bashrc

  然后拉到最下面输入如下内容:                   PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig                          

      export PKG_CONFIG_PATH

        保存并退出,重启一下树莓派。  

        

最后,在你的qt工程文件里添加如下代码:

INCLUDEPATH += /home/pi/opencv-4.5.2/include/     (这行主要是要包含opencv.hpp文件)


LIBS += /home/pi/opencv-4.5.2/build/lib/libopencv_calib3d.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_core.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_features2d.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_flann.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_highgui.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_imgcodecs.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_imgproc.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_ml.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_objdetect.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_photo.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_shape.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_stitching.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_superres.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_videoio.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_video.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_videostab.so.4.5 \
        /home/pi/opencv-4.5.2/build/lib/libopencv_imgcodecs.so.4.5
(每人所使用的动态链接库即路径是不完全一样的,有的是在/usr/local/lib/arm-linux-gnueabihf路径下,所以大家可以按需写,或者像我这个菜鸟一样写很多)

        (c)好了吗?并没有。可能还会提示 error: 'opencv2/opencv_modules.hpp' 。

我的opencv_modules.hpp文件在/usr/local/include/opencv4/opencv2目录下,估计是树莓派没找到,树莓派默认能够看到的是/usr/include/,因此我们用一条命令给它链接一下:

        sudo ln -s /usr/local/include/opencv4/opencv2 /usr/include/

3、下载clang。

        在使用你的C++ qt5前,还需要下载clang,输入如下命令:

                sudo apt-get install clang

终于,我的qt代码终于不会报错了!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

HAO_keshui

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

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

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

打赏作者

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

抵扣说明:

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

余额充值