@TOC
1.VS2017配置OpenCV?[转 Ⅰ 3]
2.VS版本选择?[转 Ⅲ 0.0]
3.OpenCV版本选择?[转 Ⅲ 0.0]
windows - Visual studio 配置 OpenCV
演示版本 (其他 系统平台 的各种VS版本安装各种OpenCV版本可以参考一下):
- Windows10
- VS 2017 、OpenCV 4.6.0
解决步骤:
Ⅲ 0.0 VS版本选择
如果安装了不适合的vs版本,导致软件启动慢、启动盘占满、影响效率。因此我们有必要根据电脑性能选择合适的版本,VS版本选择可参考下表:
C盘可用容量 | VS安装盘可用容量 | VS可选版本 | VS推荐版本 |
---|---|---|---|
20G+ | 50G+ | 2017及以上 | 最新版 |
10G+ | 40G+ | 2017以下 | 2015 |
7G+ | 8G+ | 2010及以下 | 2010 |
上表是根据C盘容量大致参考,VS要求的系统具体参数参见 VS官方,下图展示了Visual Studio 2017 所需要求:
鉴于电脑购置资金受限,因此不推荐安装VS到C盘(我安装的是D盘),尽管如此VS的安装还是会消耗C盘容量,咱也不知道为啥。
Ⅲ 0.1 OpenCV版本选择
为啥会说这个VS版本,因为OpenCV版本和VS版本有着千丝万缕的关系。
-
从VS出发,选择OpenCV: | Visual Studio版本 | VC++编译器版本 | 推荐OpenCV版本 | | --- | --- | --- | | VS 2022 | vc17 | 4.7.0 ~ latest | | VS 2019 | vc16 | 4.7.0 ~ latest | | VS 2017 | vc15 | 3.4.0 ~ 3.4.15、4.0.0 ~ 4.6.0 | | VS 2015 | vc14 | 2.4.13.2 ~ 2.4.13.6、3.2.0、3.3.0、3.3.1、3.4.0 ~ 3.4.15、4.0.0 ~ 4.6.0 | | VS 2013 | vc12 | 2.4.9 ~ 2.4.13、3.0.0 ~ 3.1.0 | | VS 2012 | vc11 | 2.4.9 ~ 2.4.13、3.0.0 | | VS 2010 | vc10 | 2.4.9 ~ 2.4.11 |
-
从OpenCV出发,选择VS: | OpenCV版本 | CV官方提供的编译库对应 @位数@VC++版本 | 推荐Visual Studio版本 | | --- | --- | --- | | 4.7.0 ~ latest | @x64 @vc16 | VS 2019 | | 4.0.0 ~ 4.6.0 | @x64 @vc14、vc15 | VS 2017 | | 3.4.0 ~ 3.4.15 | @x64 @vc14、vc15 | VS 2017 | | 3.2.0、3.3.0、3.3.1 | @x64 @vc14 | VS 2015 | | 3.1.0 | @x64 @vc12、vc14 | VS 2015 | | 2.4.13.2 ~ 2.4.13.6 | @x86、64 @vc14 | VS 2015 | | 2.4.12、2.4.13、3.0.0 | @x86、64 @vc11、vc12 | VS 2013 | | 2.4.9 ~ 2.4.11 | @x86、64 @vc10、vc11、vc12 | VS 2013 |
版本推荐依据:
1.OpenCV发行版本: Releases - OpenCV
2.微软官方给出的Visual Studio版本及其默认安装的VC++编译器版本 对应表:
当然,如果上述推荐未满足开发需求,可以自行尝试对源代码进行编译^-^
可以根据自己的需求选择合适的OpenCV版本,这里使用OpenCV4.6.0 opencv-4.6.0-vc14_vc15.exe
:
文件下载后,双击opencv-4.6.0-vc14_vc15.exe
进行提取:
选择路径D:\OpenCV4.6.0
,点击"Extract",稍等片刻
提取后的文件目录:
OpenCV根目录:
D:\OpenCV4.6.0\opencv
OpenCV官方提供的编译库目录:D:\OpenCV4.6.0\opencv\build
VS安装没什么可说的,所以这里就不赘述了,如果有需求可以私聊我补上。
2.1 右键点击
此电脑-属性-高级系统设置-高级选项卡-环境变量
手动配置环境变量(注意路径,要和自己安装的路径一样才行):
2.2 环境变量添加成功后,重启电脑使得环境变量生效。
打开VS2017新建空项目,项目名称、位置自定义:
首先确保编译环境是x64,我这里选择的是Release版本,Debug版本配置只有一步不一样,其他都是一样的,我会在下文中指出。然后推荐使用新建属性表,这样可以配置多个版本,在需要的时候直接添加对应的属性表就可以,如果全部添加在自带的属性表中,以后添加的版本太多或者添加的其他库太多会导致灾难性的后果:配置属性冲突等…
Ⅲ 3.0 打开属性管理器(依次点击 视图-其他窗口-属性管理器
)
在对应的 属性管理器 中右键 属性-添加新项目属性表(名字自定义)
Release|X64 —> "
release64OpenCV
"
Debug|X64 —> "debug64OpenCV
"
Ⅲ 3.1 配置属性
Ⅳ 3.1.1 包含目录
通用属性 >> VC++目录 >> 包含目录 中添加 include文件夹和include下的所有子文件夹路径
(注意路径,要和自己刚刚安装的路径一致):
D:\OpenCV4.6.0\opencv\build\include
D:\OpenCV4.6.0\opencv\build\include\opencv2注: OpenCV低版本可能还需要添加路径:
D:\OpenCV4.6.0\opencv\build\include\opencv
Ⅳ 3.1.2 库目录
通用属性 >> VC++目录 >> 库目录 中添加如下库目录(注意路径,要和自己刚刚安装的路径一致):
D:\OpenCV4.6.0\opencv\build\x64\vc15\lib
Ⅳ 3.1.3 附加依赖项
最后,在通用属性 >> 链接器 >> 输入 >> 附加依赖项 中添加对应的 *.lib
文件。
debug模式下 填写如下 *d.lib 文件名:
库文件路径: D:\OpenCV4.6.0\opencv\build\x64\vc15\lib
opencv_world460d.lib
release模式下 填写如下 *.lib 文件名:
库文件路径: D:\OpenCV4.6.0\opencv\build\x64\vc15\lib
opencv_world460.lib
注:VS中release模式和debug模式配置只有这一步不一样,其他配置内容都是一样的。
至此VS项目的环境配置初步完成,可以尝试运行个例程验证一下,新建一个main.cpp,代码如下:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
int main()
{
std::cout << CV_VERSION;
// rows,cols(先行后列)
cv::Mat image = cv::Mat::zeros(200, 400, CV_8UC3);
// 绘制圆形(画纸, 圆心(x,y)对应(列坐标,行坐标),半径,轮廓填充颜色(BGR),轮廓填充厚度
cv::circle(image, cv::Point(100, 100), 50, cv::Scalar(255, 0, 0), -25);
cv::circle(image, cv::Point(200, 100), 50, cv::Scalar(0, 255, 0), -1);
cv::circle(image, cv::Point(300, 100), 50, cv::Scalar(0, 0, 255), 25);
cv::imshow("Show Window", image);
cv::waitKey(0);
return 0;
}
运行结果:
- Q1. 提示 error LNK1104 无法打开文件“opencv_world452d.lib”
A1: 安装多个版本或者VS重装后再次配置时可能会出现该提示。这是由于
通用属性-VC++目录-包含目录
或通用属性-VC++目录-库目录
中的无效继承值
引起。如何删除呢?参考 简言之:
1.关闭VS,进入系统目录: C:\Users\xxx\AppData\Local\Microsoft\MSBuild\v4.0 2.使用 文本编辑器 打开文件 Microsoft.Cpp.Win32.user.props 及 Microsoft.Cpp.x64.user.props 3.修改 <IncludePath> </IncludePath> 和 <LibraryPath> </LibraryPath> 中间内容。 4.重新打开VS,问题解决。
修改前:
修改后:
- Q2. ...
A2: ...
代码调试不易,转载请标明出处!
如果感觉本文对您有帮助,请留下您的赞,您的支持是我坚持写作分享的最大动力,谢谢!
References
0.OpenCV - github
1.OpenCV发行版本
2.VS版本选择
3.环境变量太大问题解决
4.VS2017配置OpenCV
5.VS2017配置OpenCV
6.VS2017配置Opencv
6.VS2017配置OpenCV4.5.3
7.VS2017配置OpenCV4.6.0
8.VS2019配置OpenCV4.1.2
可以肯定的是学海无涯,这篇文章也会随着对 VS、PCL的深入学习而持续更新,
欢迎各位在评论区留言进行探讨交流。