windows系统安装opencv2.4.12及bug解决
创始人
2024-03-27 08:35:44
0

目录

    • 前言
    • 一、opencv2.4.12安装
    • 二、BUG修复
    • 1、问题解决:找不到MSVCR100.dll,无法继续执行代码
    • 2、问题解决:无法定位程序输入点******于动态链接库opencv_highgui2412.lib上

前言

最近在学习CUDA,对照cuda by example一书的例子对照实验,后面的代码基本都需要opencv,所以这里记录安装方法以及相关的一些错误解决。

一、opencv2.4.12安装

1、下载opencv2
下载地址
下载后找一个安装软件的位置解压,解压后内部文件应该是这样,注意查看build文件夹内是否有文件,如果没有那就是个破损的包,需要重新下载。
在这里插入图片描述
2、配置环境变量
在path中加入解压的opencv路径D:\software\opencv-2.4.12\opencv\build\x64\vc12\bin,这是我的路径,根据自己的安装目录找到bin文件夹加进去即可。
在这里插入图片描述
3、配置visual stdio环境下相关库目录
打开Visual Studio,新建一个项目。(下面的目录都是根据自己的路径找到加入)
右键项目—>属性—>VC++目录—>包含目录—>编辑
分别加入路径:

D:\software\opencv-2.4.12\opencv\build\include
D:\software\opencv-2.4.12\opencv\build\include\opencv
D:\software\opencv-2.4.12\opencv\build\include\opencv2

在这里插入图片描述
继续在,VC++目录—>库目录—>编辑,加入路径:

D:\software\opencv-2.4.12\opencv\build\x64\vc11\lib

在这里插入图片描述
继续在链接器—>输入—>附加依赖项—>编辑——>添加你的库文件名
关于opencv的lib文件名在下面给出,可能有出入,在执行程序遇到缺少的再加进去就好:

opencv_calib3d2412d.lib
opencv_contrib2412d.lib
opencv_core2412d.lib
opencv_features2d2412d.lib
opencv_flann2412d.lib
opencv_gpu2412d.lib
opencv_imgproc2412d.lib
opencv_legacy2412d.lib
opencv_ml2412d.lib
opencv_nonfree2412d.lib
opencv_objdetect2412d.lib
opencv_ocl2412d.lib
opencv_photo2412d.lib
opencv_stitching2412d.lib
opencv_superres2412d.lib
opencv_ts2412d.lib
opencv_video2412d.lib
opencv_videostab2412d.lib
opencv_highgui2412d.lib

文件名中的2412是你的opencv的版本,假如我下载的的opencv2.4.12,所以加入的文件名中就是2412,对照自己的版本改好就行。
到这里所有的配置就都结束了,可以找个程序试验一下了,随便什么用到opencv的程序都可以。我这边用的是cuda by example书中chapter7 传热模型的例子。

二、BUG修复

1、问题解决:找不到MSVCR100.dll,无法继续执行代码

执行程序后,报错:
由于找不到MSVCR100.dll,无法继续执行代码。重新安装程序可能会解决此问题。
在这里插入图片描述
在电脑中搜索了一下,确实没有这个文件,于是网上搜了一个下载,在这里一个可以搜大部分缺少的dll文件的网页,打开后的网页金山毒霸,不要害怕,在搜索框中找到自己要的文件,选择手动安装就可以了,选择自动安装就会掉进安装金山毒霸的陷阱。
PS:里边的文件名都是小写,这个无所谓,是那个文件就行。
在这里插入图片描述
把下载后的文件放进C:\Windows\System32中即可。
紧接着继续执行程序,发现又缺少MSVCP100.dll这个文件,同样的方法,下载添加进去就好了。
再次执行程序就不会报错了。

2、问题解决:无法定位程序输入点******于动态链接库opencv_highgui2412.lib上

我还遇到了另一个问题,在添加完上面两个dll文件后,再次执行程序,发现报错:
无法定位程序输入点******于动态链接库opencv_highgui2412.lib上,
很奇怪,查到这个文件存在,而且导入目录都对,就是一直显示无法定位,网上搜索有一些解决办法也不管用,把我尝试过的办法都贴在这里:
方法1
方法2
最后发现是我下载的那两个dll文件可能不对或是破损的,总之,重新在我上面给出的那个链接里新下载了两个文件就成功了。
关于这个问题我在博客中发起了提问,有一位老师给出了一种比较好的解决思路,后面遇到问题如果其他办法都不管用了,可以试试:
链接
另外配置环境过多时,可以考虑重启软件或者电脑,以保证配置生效。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...