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

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

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\binui

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


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

  點擊下方的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,直到紅色選項消失,Generatecode


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


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


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


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;
}
相關文章
相關標籤/搜索