Windows平台下安裝OpenCV與Eigen一般需要先進行編譯,配置環境變量,再在VsCode里面進行文件配置。本文按照編譯及環境配置-vscode文件配置進行。
編譯及路徑配置
MinGW
首先我們需要先mingw,用於gcc與g++的編譯與調試。下滑頁面,下載seh后綴文件,在系統盤根目錄下進行安裝。

解壓后文件長這樣:

隨后在高級系統設置-環境變量中添加Path,字段為:
C:\mingw64\bin
輸入g++/gcc 驗證是否配置成功:

CMake
下載安裝cmake,用於編譯。這個也最好解壓到系統盤,我的安裝路徑長這樣:

隨后新建環境變量:
C:\Program Files\CMake\bin
命令行驗證:

OpenCV
在官網下載opencv,安裝時會解壓出一堆文件,選擇路徑存儲。我選擇的文件夾:

在D:\opencv\build\x64新建一個文件夾MinGW,用於存放編譯文件。
然后打開cmake-gui進行編譯了,編譯路徑:

隨后點擊configure,選擇MinGW作為編譯器

然后c和c++的compiler 分別選擇
C:\mingw64\bin\gcc.exe
C:\mingw64\bin\g++.exe
在點擊generate,generate done之后,它會在預先設置的輸出路徑D:\opencv\build\x64\MinGW生成一系列的文件。
接下來我們需要編譯opencv的Makefile並裝載。具體的,在輸出路徑MinGW,打開管理員命令行,依次執行minGW32-make與minGW32-make install命令,得一個小時左右。
完成之后,我們配置相應的環境變量:
D:\opencv\build\x64\MinGW\bin
Eigen
下載解壓Eigen,我在下載目錄直接解壓了:

同樣的,進行Eigen的編譯:

跟opencv流程一樣,在Eigen目錄下,使用管理員命令行執行minGW32-make與minGW32-make install。稍微不同的是,它會在系統的**Program Files (x86)**目錄下自動生成文件,我們只需要把它配置到環境變量:
C:\Program Files (x86)\Eigen3\include
環境變量一覽:

VsCode文件配置
VsCode需要配置三個腳本文件:
- launch.json(這個沒什么特別的)
- Tasks.json
- c_cpp_properties.json(Ctrl+Shift+P, 輸入C/C++,選擇配置json)
腳本文件都存儲在打開文件夾的.vscode下

具體的可參考我的配置,主要是為了引入頭文件路徑與編譯時鏈接:
Task.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活動文件",
"command": "C:\\mingw64\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-L",
"D:/opencv/build/x64/MinGW/install/x64/mingw/bin/lib*",
"-I",
"D:/opencv/build/x64/MinGW/install/include",
"-I",
"D:/opencv/build/x64/MinGW/install/include/opencv",
"-I",
"D:/opencv/build/x64/MinGW/install/include/opencv2",
"-I",
"C:/Program Files (x86)/Eigen3/include/eigen3",
"-I",
"C:/Program Files (x86)/Eigen3/include"
],
"options": {
"cwd": "C:\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "調試器生成的任務。"
}
],
"version": "2.0.0"
}
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"D:/opencv/build/x64/MinGW/install/include",
"D:/opencv/build/x64/MinGW/install/include/opencv",
"D:/opencv/build/x64/MinGW/install/include/opencv2",
"C:/Program Files (x86)/Eigen3/include",
"C:/Program Files (x86)/Eigen3/include/eigen3"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:\\mingw64\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
接下里,我們新建cpp,引入頭文件就可以使用。
#include<iostream>
#include<opencv2/opencv.hpp>
#include<opencv2/highgui.hpp>
#include<Eigen/Dense>
using namespace std;
using namespace cv;
using namespace Eigen;
參考鏈接
【1】Windows下 VS Code搭建C++和opencv開發環境
【2】VS code配置C/C++、OpenCV(Windows)
