win10+Qt5.13+OpenCV3.4.6環境搭建


win10-x64 + Qt5.13 + OpenCV3.4.6-x64 環境搭建

cmake:cmake-3.15.0-rc3-win64-x64

准備:安裝Qt(加MingGW64位編譯器)+ 安裝OpenCV(64位)+ 安裝cmake-x64
添加環境變量:
  D:\Qt\Qt5.13.0\5.13.0\mingw73_64\bin
  D:\Qt\Qt5.13.0\Tools\mingw730_64\bin
  D:\OpenCV\build\x64\vc15\bin
  D:\cmake-3.15.0-rc3-win64-x64\bin
  D:\opencv3.4.6-build\install\x64\mingw\bin

注意:安裝OpenCV時解壓路徑,(重要的事情說三遍<我自己就掉進這個坑里,苦悶了兩天>)
  *****opencv所在的文件夾名一定不能有空格***** 譬如:“Program files”
  *****opencv所在的文件夾名一定不能有空格*****
  *****opencv所在的文件夾名一定不能有空格*****


1.運行cmake文件夾bin中gui開始配置
  where is the source code中填入OpenCV的源碼路徑
  where to build the binaries中填入編譯后生成文件的存放位置D:\opencv3.4.6-build(可自己新建一個文件夾)
  Advanced勾選

  點擊下方的Configure按鈕,會彈出配置框
  Specify the generator for this project下拉框中選擇MinGW Makefiles,然后圈選Specify native comilers,點擊Next
  之后會讓選擇MinGW的C/C++編譯器位置,填入對應編譯器位置(在Qt編譯器中確認,一般在Qt安裝目錄中Tools文件夾內),
  Fortran不用填寫,配置完后點擊Finsh,進行配置驗證。

  然后會出現一系列紅色的value
  勾選:WITH_QT、WITH_OPENGL
  基於編譯中出現的問題,直接一次性不勾選:WITH_IPP ENABLE_PRECOMPILED_HEADERS WITH_OPENCL_D3D11_NV
  然后重新 Configure,直到紅色選項消失,Generate


2.編譯前:opencv\cmake\下找到“OpenCVCompilerOption.cmake”,打開注釋掉#add_extra_compiler_option(-Werror=non-virtual-dtor)


3.編譯:在D:\opencv3.4.6-build目錄下,shift+右鍵打開shell,執行指令mingw32-make -j 8(8線程快速編譯)


4.安裝mingw32-make:編譯完成后執行指令mingw32-make install


5.Qt中配置OpenCV:新建或打開工程,在pro文件中添加如下兩語句,一個是編譯后的頭文件夾,一個是靜態庫,一個是動態庫,兩個庫選一個使用
  注意:LIBS += -L的后面一定要加‘\’(否則編譯報錯)
  INCLUDEPATH += D:\opencv3.4.6-build\install\include

  LIBS += -L \
  #D:\opencv3.4.6-build\install\x64\mingw\lib\libopencv_*.a
  D:\opencv3.4.6-build\install\x64\mingw\bin\libopencv_*.dll
  工程上右鍵執行qmake,編譯通過即可。


6.測試CPP代碼:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv2/opencv.hpp>

using namespace cv;

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent), ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    Mat srcImg = imread("D:\\_Diagonal.jpg");
    imshow("1",srcImg);
}

MainWindow::~MainWindow()
{
    delete ui;
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM