VS2017配置opencv3.4.0+opencv-contrib3.4.0+cmake

以前电脑上配置的是opencv4.3.0+opencv-contirb4.3.0,现在因为一些需要,需要降版本

一、删除原有的opencv以及配置

如果之前电脑上已经安装了opencv,opencv-contrib其他版本,想要更换版本,需先进行如下操作:

第一步,直接删除硬盘里的opencv文件夹

第二步,删除环境变量。在【此电脑】上单击右键,选择属性,再点高级系统设置,选择环境变量。把path变量里面与opencv有关的全部删除。

VS2017配置opencv3.4.0+opencv-contrib3.4.0+cmake_第1张图片

第三步,删除C:\Windows\System32路径下所有与opencv有关的dll

第四步,打开visual stdio,在Property Manager(中文名应该是叫属性管理器)中,对Debug *64单击右键,找到Include Directories和Library Directories,删除所有与OpenCV有关的项。在Linker->Input->Additional Dependencies中,删除所有与OpenCV有关的项

第五步,删除继承的值(inherited value),这一步很重要,比方说你原来是OpenCV3.0.0,现在要卸载后安装OpenCV3.4.1,但你打开属性管理器中Debug |*64的include directories(包含目录),还是会在“继承的值”那一栏有残留的OpenCV3.0.0的dll,而且删不掉!当你编译新的OpenCV文件时,他就会给你报错!那么怎么办呢?办法是右键Debug |*64下面的Microsoft.Cpp.*64.user,选择properties(属性)。然后就可以删除掉Include Directories(包含目录)、Library Directories(库目录)和Additional Dependencies(附加依赖项)了。(只删除附加依赖项也可以!)

经过以上五步,您的OpenCV已经彻底删除干净,如果不放心,还可以用电脑管家之类的清理下注册表。
————————————————
版权声明:本文为CSDN博主「小源仔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:(1条消息) VS+OpenCV安装和卸载指南(详细)_小源仔的博客-CSDN博客

 

二、配置opencv以及opencv-contrib

详细的安装配置教程,网上能搜索一大推,我推荐一个还不错的文章

推荐先将下面的教程仔细看一遍,然后对照我下面第三节的内容,都看完之后,再自己进行配置
————————————————
版权声明:本文为CSDN博主「C++&&python」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:(1条消息) Visual Studio 2017环境cmake编译opencv 4.3.0+opencv_contrib 4.3.0(保证成功,保姆级教学,呕心沥血)_nohopenolove的博客-CSDN博客

 

三、自己按照上述教程配置出现的问题以及解决方案以及相关注意事项

我自己用的是VS2017+opencv3.4.0+opencv-contrib3.4.0+cmake3.19.8版本

1、关于cmake版本问题:一般来说cmake版本应该都可以,但我前几次下载的是cmake3.14.0以及3.14.1版本,进行编译的时候报错

VS2017配置opencv3.4.0+opencv-contrib3.4.0+cmake_第2张图片

 

查了资料大概是不能自动加载vs里的c++编译器,所以cmake版本可以稍微选择高版本的。

2、关于cmake编译下面框出现的红色字体:

VS2017配置opencv3.4.0+opencv-contrib3.4.0+cmake_第3张图片

(ps:上面的教程里“下面的文本框中在每次Configure时都会出现红色警告字体,不用在意”,是因为他下面提供了一个百度云的链接,里面放入了一些常用的下载失败的文件,不过我不清楚是不是每个版本的opencv都适用,也不知道是不是下载失败的文件就是他给的那几个,我在网上查了一些资料,好像是说,不同版本对应的文件缺失不相同。不过可以直接先按照他的来,如果最后配置失败的话,重新配置也就行了。如果确定完全按照他的步骤来了,还是不行的话,可以来看一下,接下来的步骤)

进行CMAKE编译的时候,底下的文本框里有红色的警告,因为cmake编译的时候是在网上下载资源,可能会因为网络问题导致部分文件下载失败;

经过查询资料,有个解决方案还不错:CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结 - 葫芦娃508 - 博客园 (cnblogs.com)(ps:这个 CMakeDownloadLog.txt 文件在mybuild也就是自己新建的文件夹中)

但是在我自己按照他的方式来的时候,发现文件里给的网址打不开,然后又去查阅了相关资料,解决方案如下:

如果网址打不开,可以选择修改hosts文件,按住键盘里的win+x,点击Windows Powershell(管理员)(A),输入notepad,系统会自动打开记事本,点击左上角的“文件”按钮,选择“打开”,按照路径C:\Windows\System32\drivers\etc打开,发现没有文件,把下面“文件名(N)”后面的“文本文档(*.txt)”的类型改为所有类型,就发现有hosts了,打开把

199.232.4.133 raw.githubusercontent.com这个复制进去,保存,然后就可以打开网址了。

但有一个文件需要特别注意,上面的解决方案也提到了,

"ffmpeg_version.cmake"无法直接下载,

而是直接打开了ffmpeg_version.cmake,可以右键网页选择另存为 ffmpeg_version.cmake.txt,然后再改为ffmpeg_version.cmake。这里如果自己新建一个txt,然后直接将网页上的内容拷进去,然后再该后缀为.cmake是不行的,会提示md5不匹配。

我这里想说的是有些人不会修改文件格式:

(1)、打开上述保存的.txt文件所在的文件夹的位置;

(2)、点击上面”查看“选项,然后把”文件扩展名“勾上,这样选择刚才保存的.txt文件,对其进行重命名,将后面的.txt改为.cmake就可以了,改完之后,别忘了将”文件扩展名“在关掉;

VS2017配置opencv3.4.0+opencv-contrib3.4.0+cmake_第4张图片

(3)、如果没找到第二步的”文件扩展名“,还可以点击”选项->更改文件夹和搜索选项->查看“,将”隐藏已知文件类型的扩展名“关掉就可以了。

VS2017配置opencv3.4.0+opencv-contrib3.4.0+cmake_第5张图片

VS2017配置opencv3.4.0+opencv-contrib3.4.0+cmake_第6张图片

将上述CMakeDownloadLog.txt 中所有缺失的文件放到对应位置后,就可以继续configuring,直到上面的框还有下面的框都不出现红色为止;

一般的教程建议这一步之后直接generate了,但可以先去mybuild文件夹里,打开modules文件夹,看看里面有没有xfeatures2d文件夹,如果没有的话,就不需要再继续配置了,需要重新进行cmake。

3、如果最后测试的时候出现如下错误

VS2017配置opencv3.4.0+opencv-contrib3.4.0+cmake_第7张图片


看看有没有复制有关动态库\opencv\Mybuild\install\x64\vc15\bin下的.dll文件复制至路径C:\Windows\System32 和 C:\Windows\SysWOW64 目录下。

 

 

 

 

你可能感兴趣的:(c++,opencv,cmake)