“VS2017 + openCV4 + ImageWatch”环境搭建与配置
“VS2017 + openCV4 + ImageWatch”环境搭建与配置
作者:吴甜甜 文字配套视频见B站:https://www.bilibili.com/video/av67293028
完整复制文字请到我的github仓库下载markdown文档 https://github.com/wutiantian/wutiantian.github.io/tree/master/_posts
博客主页 https://wutiantian.github.io/
此处,我以 “编译平台 VS2017 + 开源计算机视觉库 openCV4 + 插件 ImageWatch”为例
- 为什么选择“Visual studio”?
为 Windows 下用户设计程序,所以用“微软”公司自家的软件比较专业,同平台调试更直接方便。windows 操作系统是能把“简单的事情变得更简单”,所以适合轻量级的应用程序开发。
VS2017软件安装(不占用C盘空间方法)
Visual studio2017是稳定的编译运行C++环境。尽管2019年出了新款,但是有较多幺蛾子。
然而官网的2017只提供在线下载方式,导致下载的缓存都在C盘!
第一步:下载软件安装程序Visual Studio Installer
平常的安装方式,不论是在线安装还是下载的离线安装包,都会在安装过程中将vs2017的安装包保存在C:\ProgramData\Microsoft\VisualStudio\Packages
文件夹下并占用大量的空间(安装多少,占用多少,即使你不将VS装在C盘)。
下载地址:https://www.jb51.net/softs/539119.html
脚本之家:微软Visual Studio 2017正式版 15.8 (专业版) 官方简体中文版(附序列号)
软件大小:1.09MB
注意:安装好后,仍然不要删除Visual Studio Installer,因为后面如果装“组件”出现问题还得靠它打补丁!
第二步:打开vs_professional.exe
打开这个文件,会自动的在系统上安装一个Visual Studio Installer。打开vs_professional.exe,程序运行到这一步就把程序关掉。
关闭后,会在C:\ProgramData\Microsoft\VisualStudio下创建一个Packages。
第三步:删除多余的文件
把这个Packages文件夹删掉(如果不删除,否则创建软链接时会报错:当文件已存在时,无法创建该文件)。
第四步:新建文件夹,再创建软连接
新建文件夹用来存储软件缓存包 D:\vs2017offline
以管理员身份打开命令提示符cmd,运行下边代码。注意(D:\vs2017offline 是你下载的那个文件夹的位置。)
mklink /D C:\ProgramData\Microsoft\VisualStudio\Packages D:\vs2017offline
如果输入命令正确,会提示 为C:\ProgramData\Microsoft\VisualStudio\Packages <<===>> D:\vs2017offline 创建的符号链接
第五步:安装vs2017
之前安装了一个 Visual Studio Installer ,打开这个软件,就可以安装自己想要的功能了。安装时所有需要的组件都会秒下载,并且不会占用C盘的空间
注意:安装过程中,你可能还会不放心,去看看C:\ProgramData\Microsoft\VisualStudio下面有没有文件占用,此时右击文件夹属性会显示软链接地址,就对了。你可能还会疑惑旁边怎么有700KB的`C:\ProgramData\Microsoft\VisualStudio\Setup`
正常的,不用担心,就这么个大小不会变。
注意:在Visual Studio的勾选 默认安装的情况下,有文件默认是没有勾选的,也就是默认不安装的。
如果不勾选,C++文件编译时会一堆报错!
第六步:激活KEY:KBJFW-NXHK6-W4WJM-CRMQB-G3CDH
注意:安装好后的C盘仍然会有42MB的内容,千万不要删除,新建工程会报错!
vs2017需要联网安装,有的时候还可能要重装系统
openCV4安装的过程->自解压程序
opencv各个版本之间的选择
opencv是开源库文件,有社区在定期维护与增加内容。库文件是可以个人修改的,原则上不是有太大影响,但使用的各种编译软件经常升级会导致旧版本不再维护,所以最好还是和软件一样使用较新的稳定版本。
opencv4 里面的 include 头包含文件下只有一个文件夹:opencv2,也就是没有再增加头文件的内容,保持2版本状态。
通过 opencv 各个版本的推出,目录文件的命名,可以看出时代需求的变化越来越追求技术落地。
例如到opencv410版本时,目录源码有 C++、java、python 三种语言格式 。
opencv库的文件夹内容
openCV文件夹下
build | 预编译文件 | ||||
bin | |||||
etc | |||||
include | 类库头文件 | 【1】 | 在VS中配置环境时需要 | ||
java | |||||
python | |||||
x86 | vc15 | bin | dll 动态库文件 | 【2】 | |
代表 Microsoft Visual Studio2017 | lib | 静态库文件 | 【3】 | ||
sources | 源代码文件 |
vc11表示VS2012;vc14表示VS2015。
openCV环境文件【三构建】
将3个文件放到新建文件夹“openCV xxx”中。假设【三构建】文件夹路径为 D:/opencv/opencv400
环境变量配置
- 立即生效法
openCV 自构建的 bin 文件下的 dll 文件直接拷贝,放置到 c :/windows/syswow64 或者 C:\Windows\System32 (我64位机VS选择64的Debug模式是需要放置到该文件夹下才生效!)
- 重启生效法
配置 bin文件的 PATH 路径 。
属性管理器【三添加】
每次新建工程都要重新配置,其实不用这样麻烦,可以一劳永逸。
(1)新建项目:打开VS,文件->新建->项目->空项目。
(2)新建cpp源文件:源文件->添加->新建项->C++文件->添加
(3)菜单栏属性配置:视图->属性管理器
注意:首次需要2次配置属性【三修改】分别在菜单的属性管理器、项目的属性。
在属性管理器中进行第一次配置,就相当于进行了通用的配置过程。
【1】include文件配置
解决方案的项目名,右击属性 -> VC++ 目录 -> 包含目录 ->添加" D:/opencv/opencv400/include;"
【2】lib库目录配置
解决方案的项目名,右击属性 -> VC++ 目录 -> 库目录 ->添加" D:/opencv/opencv400/lib;"
【3】链接器配置
解决方案的项目名,右击属性 -> 链接器 -> 输入 -> 附加依赖项 ->添加 lib的 debug 项目“opencv_ts300d.lib;opencv_world300d.lib”
以上三步修改后,修改行均会变粗并且加黑,以方便识别。
以上三步的配置路径可能因为复制路径而产生错误,请用鼠标点击设置添加文件夹方式层层选择进入到目录下!
为了方便与书中同步,因为书中的旧版本项目文件多,用来完整阐述,请读者安装最新版本时做适当的知识迁移,或者观看我的 B 站免费视频讲解。
备查的附加说明(可不看)
“包含目录”与“附加包含目录”的区别是:全局还是当前
-
“VC++目录” 设置“包含目录”:全局设置,对所有项目默认生效。
-
“连接器”->“常规”->“附加包含目录”:用于当前项目,对其他项目没有影响。
当需要对某工程添加目录时,通常情况下,都是在“附加包含目录”和“附加库”中添加的。
【三修改】的应用:如何使用一个库
- 附加包含目录->添加工程的头文件目录
项目->属性->配置属性->c/c++->常规->附加包含目录:加上头文件的存放目录。
- 附加库目录->添加文件引用的 lib 静态库路径
项目->属性->配置属性->链接器->常规->附加包含目录:加上 lib 文件的存放目录
- 附加依赖项->添加工程引用的 lib 文件名
项目->属性->配置属性->链接器->输入->附加依赖项:加上 lib 文件名
当需要向项目中添加 .dll动态库时,将需要添加的 .dll文件拖拽到项目生成的 .exe 所在的文件夹即可。【优先采用统一目录下面的 dll 文件】
项目->属性->配置属性->链接器->常规->输出目录,可以查看 exe 生成在哪个目录下。
Debug 调试版本 与 Release发布版本
Debug 调试版本 与 Release发布版本 的区别在于:是否含有调试信息。
Debug | Release |
---|---|
包含调试信息,并且不作任何优化,便于程序员调试程序。 | 代码最小和运行速度最快,以便用户很好地使用。 |
注意:VS2017 菜单栏下有“解决方案配置”,注意F5运行时,选择“Debug”模式。
lib下的文件
opencv_ts300.lib | 8,664kB | 没有加d |
opencv_ts300d.lib | 11,764kB | 加“d”是debug项目里的 |
opencv_world300.lib | 1,661kB | |
opencv_world300d.lib | 1,666kB |
注意openCV3以后把"d"文件合并到一个文件里面了。
微软图像插件 ImageWatch
可用于调试时显示和监视图像变量。
VS2017菜单栏:工具->扩展和更新->联机->搜索:Image Watch 2017
组件大小:1.3MB
下载好后,关闭 VS2017 软件就能自动安装。
下载 Error 报错:如果无法安装组件,用 Visual Studio Installer 安装程序的“自动修复”功能,自动打补丁!