您的位置:首页 > 运维架构

VS2012中配置OpenCV 2.4.9 死亡笔记

2015-06-28 10:10 344 查看
小编之前没有接触过OpenCV,对其也是一无所知,而此次因为任务需求第一次接触到OpenCV,印象中之前小编貌似接触过OpenGL,对于二者的区别小编也不是很是清楚,大概就是说OpenCV专注的是图像和视频的基础算法,而OpenGL则是专注于绘图,具体的差别,小编在这里提供几个传送门吧:/article/1440225.html

目前OpenCV提供了最新的版本是OpenCV 3.0,但是小编在使用过程中,出现了某些头文件无法打开的错误,如

#include"opencv2/nonfree/features2d.hpp"

而对应的头文件在OpenCV 3.0中放到哪个地方,小编没有找到,于是,小编转战投入到OpenCV 2.4.9中,在安装过程中,小编主要遇到如下几个问题:

1、OpenCV下载

对于OpenCV的下载可以到官网提供的链接获取,具体传送门 http://opencv.org/downloads.html

里面提供了不同平台下的下载,这里小编选择了window平台,同时将版本确定为了2.4.9。

而这里需要注意的是,相信一些初学者会和小编抱有一样的疑问,下载的是window平台下的版本,但是对于不同的开发语言却没有找到相应的下载包,这个不用担心,等下载完成后解压就可以发现对于该平台下的解压包已经包含了所有支持的语言版本,届时用户只需要按需配置就可以了。

2、x86和64位模块冲突

在下载的文件里面,含有x86和x64两个版本,一个支持32位,一个则是64位,这个的选择需要根据机器的情况来选择,如果出现了这个问题那么就选择对应的另外一个版本应该是可以解决的。

3、debug运行正常,但release无法运行

出现这个问题的原因很可能是因为用户在配置的时候只针对debug进行配置,而release则需要重新配置,需要注意的是,这里的release的附加依赖项应该是XX.lib,而不是debug下的XXd.lib,除此之外,其余的头文件和库文件的配置方式和debug的配置是一样的。

4、找不到链接符号错误

这个问题一边是库文件设置错误或者附加依赖项不完整所导致的,这里的库文件应该选择下载文件中的vc11/x86/lib 和 vc11/x86/staticlib,而附加依赖项则是vc11/x86/lib目录下的所有XX.lib。

5、编译链接正常,但是运行提出找不到XX.dll

出现这个问题是因为找不到相应的dll文件,而不幸的是,网上多数的配置教程都没有提及到系统环境的配置问题,运行缺失文件其实在下载的文件中已经包含了,就在vc11/x86/bin 里面,打开相应的目录可以发现确实的文件都在里面,网上有的教程采用了较为粗暴的方式,直接将该目录下的所有dll文件拷贝到系统下面,虽然简单粗暴有效,但是不建议采用,这个对于后期的版本升级较为不利,较好的做法是修改系统的环境变量,这个在网上有相应的教程,只需要把vc11/x86/bin放置到PATH下就可以,但是需要注意的是,配置完成之后需要重启系统才能使配置生效,否则将会像小编一样在胡同里面绕啊绕啊绕~~,记住,必须重启

至此,在配置过程中可能碰到的问题小编都一一列举了,接下来,祝君好运~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: