国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用 Qt6-mingw 編譯 OpenCV 源碼

這篇具有很好參考價值的文章主要介紹了使用 Qt6-mingw 編譯 OpenCV 源碼。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

版本

Qt 6.6.0 win11 x86_64

安裝 CMake

網(wǎng)址: https://cmake.org/download/
選擇對應的版本下載
將 cmake.exe 所在的 bin 目錄添加到環(huán)境變量中

安裝 openCV

網(wǎng)址: https://opencv.org/releases/
選擇對應的版本下載 Source資源包
使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++

  1. 解壓 “opencv-4.9.0.zip”, 將其解壓的 “opencv-4.9.0” 存放到指定路徑 “Path” (例如在我的電腦上 “Path” 則為 “I:\opencv-4.9.0”)

  1. 在解壓的文件夾下新建一個 build 目錄

  1. 打開 /cmake/bin/cmake-gui.exe

    在紅線處入 “Path”
    使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++

    選擇將其編譯在 build 目錄下
    使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++


  1. 點擊 configure
    出現(xiàn)配置對話框->在“Specify the generator for this project”內(nèi)選擇“MinGW Makefiles”選項,
    在下邊的編譯器類型中,選擇:
    “Specify native compilers”,單擊“Next”->在編譯器選擇器選擇界面,在C后面選擇C編譯路徑(我的為D:\qt\qt6\Tools\mingw1120_64\bin\gcc.exe"),同理選擇C++編譯器路徑,點擊 Finshed, 點擊 configure

  1. 待配置完成后,點擊 Add Entry (若下面的列表中已經(jīng)有 QT_MAKE_EXECUTABLE這一項則直接雙擊修改即可)
    使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++
    Name: 處填入 QT_MAKE_EXECUTABLE
    Type: 選擇 PATH
    Value: 填入 Qt 的 qmake路徑 (我的為 “D:\qt\qt6\6.4.3\mingw_64\bin\qmake.exe”)
    Description: 空使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++

  1. 在下面的列表中搜索 WITH_QT WITH_OPENGL,將其勾選;搜索 WITH_IPP,將其取消勾選

  1. 設置 Qt5Concurrent_DIR, Qt5Core_DIR, Qt5Gui_DIR, Qt5Test_DIR,
    Qt5Widgets_DIR, Qt5OpenGL_DIR, CMAKE_BUILD_TYPE (我的是Qt6)
    使用 m i n g w 編譯時 使用 mingw 編譯時 使用mingw編譯時,不要勾選 BUILD_opencv_world ,否則很可能會編譯失敗

使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++

  1. 點擊 configure

  1. 進入 “Path”\下的 build 目錄, 打開一個 CMakeDownloadLog的文本文件。(我的電腦上是 “I:\opencv-4.9.0\build\CMakeDownloadLog.txt”)
    例如:
    使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++

    #do_copy "opencv_videoio_ffmpeg.dll" "9b755ecbbade0a5b78332e9b4ef2dd1b" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fbac408a47977ee4265f39e7659d33f1dfef5216/ffmpeg/opencv_videoio_ffmpeg.dll" "C:/openCV/3rdparty/ffmpeg"
    #missing "C:/openCV/3rdparty/ffmpeg/opencv_videoio_ffmpeg.dll"
    #check_md5 "H:/opencv-4.9.0/opencv-4.9.0/.cache/ffmpeg/9b755ecbbade0a5b78332e9b4ef2dd1b-opencv_videoio_ffmpeg.dll"
    #mismatch_md5 "H:/opencv-4.9.0/opencv-4.9.0/.cache/ffmpeg/9b755ecbbade0a5b78332e9b4ef2dd1b-opencv_videoio_ffmpeg.dll" "d41d8cd98f00b204e9800998ecf8427e"
    #delete "H:/opencv-4.9.0/opencv-4.9.0/.cache/ffmpeg/9b755ecbbade0a5b78332e9b4ef2dd1b-opencv_videoio_ffmpeg.dll"
    #cmake_download "H:/opencv-4.9.0/opencv-4.9.0/.cache/ffmpeg/9b755ecbbade0a5b78332e9b4ef2dd1b-opencv_videoio_ffmpeg.dll" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fbac408a47977ee4265f39e7659d33f1dfef5216/ffmpeg/opencv_videoio_ffmpeg.dll"
    #try 1
    # timeout on name lookup is not supported
    # getaddrinfo(3) failed for raw.githubusercontent.com:443
    # Could not resolve host: raw.githubusercontent.com
    # Closing connection 0
    # 
    

    里面提示編譯時因網(wǎng)絡下載,缺失部分文件

    "https://raw.githubusercontent.com/opencv/opencv_3rdparty/fbac408a47977ee4265f39e7659d33f1dfef5216/ffmpeg/opencv_videoio_ffmpeg.dll" "C:/openCV/3rdparty/ffmpeg"
    第一行帶有 raw 的網(wǎng)址則是我們需要下載的文件,將其復制并在瀏覽器中打開

    #missing 這一行表明了缺失文件應該存儲的地方,將下載的文件 復制粘貼到這即可


  1. 點擊generate

  1. build 目錄下,打開終端,執(zhí)行 mingw32-make,便開始編譯

  1. 編譯無錯后,在終端中輸入 mingw32-make.exe install 會打包編譯后的文件,執(zhí)行完成后, build 目錄下會有一個生成一個 install 目錄,包含了編譯好的 OpenCV

  1. 添加環(huán)境變量
    將 install 目錄的 x64架構 的 mingw 版本下的 bin 和 lib 添加到環(huán)境變量中
    使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++

Qt6 下使用 OpenCV

創(chuàng)建 CMake 構建的 Qt6 項目
添加如下語句
所跟的路徑如下,請根據(jù)自己電腦設定
set(OpenCV_DIR "I:/opencv-4.9.0/build/install/x64/mingw/lib")

find_package(OpenCV REQUIRED)

include_directories(${OpenCV_INCLUDE_DIRS})

target_link_libraries(${PROJECT_NAME} PRIVATE ${OpenCV_LIBS}) {PROJECT_NAME} 是項目的名字
例如 project(untitled VERSION 0.1 LANGUAGES CXX) 這里的 {PROJECT_NAME} 就是 untitled

也可根據(jù) CMake Modules 添加的 opencv模塊下的 OpenCVConfig.cmke 對 主目錄的 CMakeLists.txt 更該
使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++
使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++

效果展示

使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++
使用 Qt6-mingw 編譯 OpenCV 源碼,OpenCV,opencv,qt6.3,c++

我的 主目錄 CMakeLists.txt

cmake_minimum_required(VERSION 3.5)

project(untitled VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_MODULE_PATH "I:/opencv-4.9.0/build/install/x64/mingw/bin")
set(OpenCV_DIR "I:/opencv-4.9.0/build/install/x64/mingw/lib")
set(CMAKE_PREFIX_PATH "D:/qt/qt6/6.4.3/mingw_64/lib/cmake")

include_directories(${OpenCV_INCLUDE_DIRS})

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
find_package(OpenCV REQUIRED)

set(PROJECT_SOURCES
        main.cpp
        mainwindow.cpp
        mainwindow.h
        mainwindow.ui
)

if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
    qt_add_executable(untitled
        MANUAL_FINALIZATION
        ${PROJECT_SOURCES}
    )
# Define target properties for Android with Qt 6 as:
#    set_property(TARGET untitled APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
#                 ${CMAKE_CURRENT_SOURCE_DIR}/android)
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
else()
    if(ANDROID)
        add_library(untitled SHARED
            ${PROJECT_SOURCES}
        )
# Define properties for Android with Qt 5 after find_package() calls as:
#    set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
    else()
        add_executable(untitled
            ${PROJECT_SOURCES}
        )
    endif()
endif()

target_link_libraries(untitled PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
target_link_libraries(untitled PRIVATE ${OpenCV_LIBS})

# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
# If you are developing for iOS or macOS you should consider setting an
# explicit, fixed bundle identifier manually though.
if(${QT_VERSION} VERSION_LESS 6.1.0)
  set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.untitled)
endif()
set_target_properties(untitled PROPERTIES
    ${BUNDLE_ID_OPTION}
    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)
include(GNUInstallDirs)
install(TARGETS untitled
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
if(QT_VERSION_MAJOR EQUAL 6)
    qt_finalize_executable(untitled)
endif()

注意事項

使用MSVC編譯時可以選擇 BUILD_opencv_world 選項,但是使用 mingw64 編譯時,選擇 BUILD_opencv_world 總會失敗,因此在使用mingw64的時候取消該選項。文章來源地址http://www.zghlxwxcb.cn/news/detail-820573.html

參考

  1. https://juejin.cn/post/7171322133040070686
  2. https://www.cnblogs.com/Alliswell-WP/p/OpenCV_Qt_CMake.html
  3. https://www.weizhiyong.com/archives/1904

到了這里,關于使用 Qt6-mingw 編譯 OpenCV 源碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • opencv系列(1)--使用opencv和Qt6做一個視頻監(jiān)控器人臉識別

    這個程序是自己的下班之后,看看那個壞東西想來偷看我的電腦。我就隨手做的一個程序。 1.能都顯示攝像頭的內(nèi)容。 2.如果有人進入攝像頭。 3.利用opencv的模型識別人臉,識別到了就保存到自己的電腦里面。 4.并把他的照片顯示到界面上一段時間,告訴他,偷窺有罪。 5.程

    2024年02月11日
    瀏覽(22)
  • QT+opencv源碼編譯

    QT+opencv源碼編譯

    時間記錄:2024/1/20 QT5.12.7+cmake3.22.0+opencv4.5.4 (1)下載opencv源碼,然后安裝,opencv的安裝即對源碼的解壓過程,解壓后的文件目錄如下 (2)opencv安裝解壓后的目錄介紹: build文件夾vs編譯源碼后的文件,QT項目使用vs套件編譯的可以直接使用本文件夾下的文件 sources文件夾ope

    2024年01月21日
    瀏覽(24)
  • 調(diào)用OpenCV庫出現(xiàn): undefined reference to `xxxxx‘ 的解決辦法(使用MinGW編譯器)

    調(diào)用OpenCV庫出現(xiàn): undefined reference to `xxxxx‘ 的解決辦法(使用MinGW編譯器)

    我的CMakeLists.txt如下: cpp代碼如下: 因為我的c++程序采用mingw64編譯,所以使用 之后,總是出現(xiàn)undefined reference to cv::Mat::Mat()等一系列的undefined reference to XXX 原因是沒有正確鏈接到動態(tài)庫。或者之前有安裝其他版本的opencv 重新編譯一份OpenCV的源碼再使用 編譯過程參考: https

    2024年02月05日
    瀏覽(27)
  • 在 msys2/mingw 下安裝及編譯 opencv

    在 msys2/mingw 下安裝及編譯 opencv

    最簡單就是直接安裝 腳本中最好使用環(huán)境變量?${MINGW_PACKAGE_PREFIX} 適配 以下記錄一下編譯的過程 注意:一定要安裝?mingw-w64-x86_64-cmake? 而不是 cmake,即不要執(zhí)行 “pacman -S cmake” 否則會產(chǎn)生 “System is unknown to cmake, create 。。?!?報錯信息 下載 opencv4 源碼并解壓 ?編寫腳本

    2024年02月06日
    瀏覽(96)
  • W11下CMake MinGW配置OpenCV和Qt

    W11下CMake MinGW配置OpenCV和Qt

    ?? 個人主頁: 風間琉璃 ?? 版權: ?本文由【風間琉璃】原創(chuàng)、在CSDN首發(fā)、需要轉載請聯(lián)系博主 ?? 如果文章對你有幫助、 歡迎關注、 點贊、 收藏(一鍵三連) 和 訂閱專欄 哦 前幾天將cuda版本的opencv給編譯成功了,當時用的VS的MSVC,然后發(fā)現(xiàn)編譯后的庫文件不能給Qt調(diào)用,應

    2024年02月09日
    瀏覽(21)
  • VS2022編譯安裝Qt6.5源碼

    VS2022編譯安裝Qt6.5源碼

    包括安裝VS2022,Windows SDK,Python3,這里就不再一一介紹了,需要說明的一點是如果要編譯 QtWebEngine 和 QtPdf 兩個組件的依賴問題,當然如果不需要,也可以不管它,則不會編譯。 python庫 html5lib : 使用 pip install html5lib 安裝。 gperf、bison、flex 如果安裝有Qt 5的Windows版本,比如

    2024年02月04日
    瀏覽(20)
  • 搭建 QT6+OpenCv4.7+CMake的環(huán)境

    搭建 QT6+OpenCv4.7+CMake的環(huán)境

    本文主要介紹如何搭建QT6+OpenCv的開發(fā)環(huán)境,基本流程如下 先安裝CMake3.27.3,用來編譯適用用QT的OpenCv的源碼,安裝完成后要配置系統(tǒng)的環(huán)境變量 安裝Qt6的開發(fā)環(huán)境,并配置環(huán)境變量,注意一定要重啟電腦才能生效 下載OpenCv的源碼,用于后面的編譯 上述環(huán)境準備好后,使用

    2024年02月09日
    瀏覽(27)
  • Ubuntu20 源碼編譯安裝 QT6.0 教程【有詳細圖文,親測可行】

    Ubuntu20 源碼編譯安裝 QT6.0 教程【有詳細圖文,親測可行】

    Virtual Box 版本: 7.0.6 r155176 (Qt5.15.2) Ubuntu 版本:20.04.6 (amd64, Desktop LiveDVD) 下載后解壓,看一下 README 文件指導安裝, 需要安裝環(huán)境依賴, 或者直接安裝 GNU 集合, 報錯,這是不同系統(tǒng)編碼格式導致, 解決:重置文件編碼, 報錯 cmake: not found ,需要安裝 Cmake,? ?報錯 Could

    2024年02月03日
    瀏覽(25)
  • QT----opencv4.8.0編譯cuda版本,QTcreater使用

    QT----opencv4.8.0編譯cuda版本,QTcreater使用

    cuda12.1 opencv4.8.0 vs2019 cmake3.29 打開cmake,選擇opencv480路徑,build路徑隨意 點擊configure后,選擇這些選項,opencv_word,cuda全選,with_qt,NONFREE,4.8.0第三方模塊的路徑 點擊config后,添加qt的安裝路徑,打開兩個fast,將arch顯卡算力設置為自己顯卡的算力,打開with_OPENGL 取消勾選這三個

    2024年04月09日
    瀏覽(23)
  • QT6安裝完成后,再安裝低版本的MinGW或其他組件方式

    QT6安裝完成后,再安裝低版本的MinGW或其他組件方式

    1,首先登錄自己賬戶 2,然后進入歡迎中,點擊“添加和移除組件” 3,然后檢索自己需要的安裝內(nèi)容

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包