目录
- 前言
- 一、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文件可能不对或是破损的,总之,重新在我上面给出的那个链接里新下载了两个文件就成功了。
关于这个问题我在博客中发起了提问,有一位老师给出了一种比较好的解决思路,后面遇到问题如果其他办法都不管用了,可以试试:
链接
另外配置环境过多时,可以考虑重启软件或者电脑,以保证配置生效。