Win10 + VSCode + OpenCV4.5.0 + CMake + MinGW-w64 配置


參考:

VScode搭建OpenCV環境

OpenCV使用CMake和MinGW-w64的編譯安裝

win10下VSCode配置opencv4.4.0(超詳細教程,親測有效)

 

1、VSCode+MinGW配置C++開發環境

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/

 

配置環境變量

C:\Programs\mingw-w64\bin

2、安裝CMake

https://cmake.org/download/

配置環境變量

D:\tools\cmake-3.19.1-win64-x64\bin

3、下載OpenCV的sources源文件

https://github.com/opencv/opencv/releases

 

 

 下載比較慢的話,可以換國內, OpenCV下載/OpenCV國內鏡像/opencv_contrib下載

安裝解壓到目標路徑,

在build \ x64下新建文件夾mingw

 

 

 

 

 

 

 4、使用 CMake 生成 OpenCV 的 Makefiles

運行cmake-gui,在bin下。

選擇源地址,目標地址,

 

 

 點擊configure,選擇,

 

 

 點擊next,選擇剛才安裝的MinGW的編譯工具,

 

 

 點擊finish會開始執行,過程較慢,最后顯示Configure done,是正常的。

然后點擊Generate,正常會顯示Generate Done

5、編譯opencv

運行cmd,cd到mingw文件夾,

 

 執行minGW32-make命令,過程很慢,可使用多線程minGW32-make -j 4 命令,根據自己機器情況開幾個線程,

編譯過程常見錯誤

我遇到的錯誤是找不到 vs_version.rc.obj 文件,學習OpenCV3:MinGW編譯OpenCV到vs_version.rc.obj處出錯

 

 打開build.make文件,找到1494行,顯示在modules/core/CMakeFiles/opencv_core.dir 下找不到 vs_version.rc.obj。

新打開一個cmd窗口,cd到core目錄下 下,運行命令,可在第1494行復制,

 

 

 

手動生成vs_version.rc.obj,並重新運行mingw32-make。

編譯完成后運行minGW32-make install完成裝載,生成Install文件夾。

配置環境變量

6、VSCode配置

.vscode\c_cpp_properties.json。部分添加代碼。

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}",
                "D:/tools/opencv/build/x64/mingw/install/include", 
                "D:/tools/opencv/build/x64/mingw/install/include/opencv2"
            ],

.vscode\tasks.json。部分添加代碼。

{
    "version": "2.0.0",
    "tasks": [
        {
            ..."args": [
                "-g",
                "${file}",
                "-o",
                "${workspaceRoot}/zzz_output_exe_files/${fileBasenameNoExtension}.exe",  // 集中存放
"-I", "D:/tools/opencv/build/x64/mingw/install/include", "-I", "D:/tools/opencv/build/x64/mingw/install/include/opencv2", "-L", "D:/tools/opencv/build/x64/mingw/lib", "-l", "libopencv_calib3d450", // 后三位數字為opencv對應版本4.5.0 "-l", "libopencv_core450", "-l", "libopencv_dnn450", "-l", "libopencv_features2d450", "-l", "libopencv_flann450", "-l", "libopencv_gapi450", "-l", "libopencv_highgui450", "-l", "libopencv_imgcodecs450", "-l", "libopencv_imgproc450", "-l", "libopencv_ml450", "-l", "libopencv_objdetect450", "-l", "libopencv_photo450", "-l", "libopencv_stitching450", "-l", "libopencv_video450",

          "-l", "libopencv_videoio450", // 不加這個處理視頻時VideoCapture會報錯
],
...

 

測試文件test.cpp,

#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main()
{
    Mat img=imread("images/man.jpg");   // 圖片放到工程目錄下,與.vscode同一目錄
    imshow("image",img);
    waitKey(0);
return 0; }

工程目錄下新建images文件夾,放一張圖片,運行可打開圖片,完成。

 


免責聲明!

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



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