【opencv】基于VS2022的opencv3.2.0版本环境配置

0、相关文件下载及其环境解释
a)OS环境:windows11家庭中文版21H2
b)Opencv3.2.0
下载地址:
https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.2.0/opencv-3.2.0-vc14.exe/download)
c)Visual Studio 2022 Community(只需要使用最基本的C/C++功能)
下载地址:

d)安装VS2022与opencv3.2.0

1、对于系统环境变量的设置
a)找到windows电脑设置->系统->系统信息->高级系统设置->环境变量->系统变量->Path,点击进入,点击新建,输入:
%opencv安装路径%\opencv\build\x64\vc14\bin


2、进入VS2022进行环境配置
a)添加项目属性表:点击VS2022顶部工具栏视图->其他窗口->属性管理器->右键点击Debug|x64->点击添加新项目属性表->添加属性表(自主命名,我的命名为“Debug_x64_opencv320”)
003-VS2022配置-01

b)配置属性表:右键点击Debug_x64_opencv320,点击属性进入Debug_x64_opencv320属性页界面,Debug_x64_opencv320属性页界面跳转出来后,找到通用属性->VC++目录,接下来需要修改其中的包含目录以及库目录两处。

c)点击包含目录最右边目录按钮点击编辑进入设置界面


包含目录中需要写入三个文件夹:
%opencv安装路径%opencv\build\include
%opencv安装路径%opencv\build\include\opencv
%opencv安装路径%opencv\build\include\opencv2

点击包含目录最右边目录按钮点击编辑进入设置界面



库目录中需要写入一个文件夹:
%opencv安装路径%opencv\build\x64\vc14\lib

d)其他设置:此项是因为微软觉得fopen函数不安全,需要修改IDE相关配置忽略相关的配置
点击VS2022顶部工具栏视图->解决方案资源管理器->右键点击现有方案->右键弹出菜单栏的属性->C/C+±>预处理器->预处理器定义->点击预处理器定义最右边目录按钮点击编辑进入设置界面


进入到预处理器定义后加入下面两行(注意添加下划线):
_CRT_SECURE_NO_WARNINGS
_CRT_NONSTDC_NO_DEPRECATE

3、在项目文件含有main.cpp的文件的文件夹中加入一个图片并命名为:“1.jpg”,我的路径为:D:\CS\Code\VS2022\opencv_test1\opencv_test1
在main函数中的代码:

#include <iostream>
#include<opencv2/opencv.hpp>

using namespace cv;
int main()
{
    Mat img = imread("1.jpg");
    imshow("【载入的图片】",img);
    waitKey(600);
    std::cout << "hello opencv";
}

效果:

参考资料:
[1]OpenCV3编程入门(毛星云),P14-28
[2]VS2022永久配置OpenCV开发环境,CSDN博主:我裂裂裂开了,VS2022永久配置OpenCV开发环境_我裂裂裂开了的博客-CSDN博客_vs配置opencv环境
[3]3步解决:VS报错’fopen’: This function or varia…,up主:学长敲代码,3步解决:VS报错'fopen': This function or varia.... - 哔哩哔哩

2022-05-21T15:15:00Z

补充:链接器的配置:右键点击Debug_x64_opencv320,点击属性进入Debug_x64_opencv320属性页界面,Debug_x64_opencv320属性页界面跳转出来后,找到链接器->输入->附加依赖项
将其写入%opencv安装路径%opencv\build\x64\vc14\lib\opencv_world320d.lib(注意是带“d”的.lib文件)


[4]LNK2019 无法解析的外部符号 “void __cdecl cv::error(int,class std::basic_string<char,struct std::…,CSDN博主:wukurua, LNK2019 无法解析的外部符号 “void __cdecl cv::error(int,class std::basic_string<char,struct std::..._wukurua的博客-CSDN博客_无法解析的外部符号void_cdecl