Visual Studio 2010配置Opencv2.4.9
转自:
这篇文章作为OpenCV的启程篇,自然少不了先系统地介绍OpenCV开发环境的配置。
还是先放出待会儿的测试用图:
1.下载和安装OpenCV SDK
在官网:http://opencv.org/上找到OpenCV windows版下载下来。
下载完后得到文件OpenCV 2.4.8,双击后会提示解压到某个地方,推荐放到D:\Program Files\下,比如D:\Program Files,(因为OpenCV项目文件打包的时候,根目录就是opencv,所以我们不需要额外的新建一个名为opencv的文件夹,然后再解压,那是 多此一举的事情)然后点击Extract按钮
其中,build里面是使用OpenCV相关的文件,我们如果只是使用OpenCV的话呢,就只用管build里面的内容。下面的sources文件夹你嫌烦,你嫌占硬盘空间,完全可以删掉。但是需要注意的是,官方示例集,也就是samples文件夹里面的示例程序,在sources文件夹里面躺着呢,所以,如果真是要删的话,还是想清楚哦。sources里面是源代码。想查看完整的源代码需要用cmake来“解包”,如何“解包”大家百度一下就可以,或者下次浅墨来专门讲一讲。这里就先不多说了。
2.配置环境变量
有些奇怪的是,浅墨在经历OpenCV 2.4.6,OpenCV 2.4.7,OpenCV 2.4.8这三个版本之间转换的时候,这三个版本的OpenCV存放在硬盘的不同的目录下。但就没动过这步里面的环境变量,或许新版本的OpenCV已经 弱化了环境变量的配置。所以,大家可以先跳过这步,如果最终配置出来报错的话呢,可以考虑下根据实际情况加上这步的配置。
这步的配置方法如下:
计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加相应的路径。
对于32位系统,就添加:
”…… opencv\build\x86\vc10\bin”
而对于64位系统,可以两个都添加上:
”…… opencv\build\x86\vc10\bin”
和”…… opencv\build\x64\vc10\bin”,
这样,到时候才可以在编译器Win32和X64中来回切换都吃得开,游刃有余~
例如,浅墨的就是
D:\Program Files\opencv\build\x64\vc10\bin;D:\ProgramFiles\opencv\build\x86\vc10\bin
注:变量值实际为bin文件夹的路径;D表示OpenCV安装于D盘;X64表示运行系统环境位64位系统,若安装于32位系统,应为X86;vc10表示编译环境为Microsoft Visual Studio 2010;变量添加完成后需要注销系统,才会生效。
3.工程包含(include)目录的配置
看我之前DirectX配置的相关博文的朋友们应该都知道,有一招叫属性管理器,点进去,到
<视图>--<属性管理器>
打开熟悉的属性页面后,就是一番配置了。首先是在
【通用属性】 ->【VC++目录】 ->【包含目录中】
添加上
D:\Program Files\opencv\build\include
D:\Program Files\opencv\build\include\opencv
D:\Program Files\opencv\build\include\opencv2 这三个目录。
4.工程库(lib)目录的配置
添加上D:\ProgramFiles\opencv\build\x86\vc10\lib这个路径。
这里选择x86还是x64是一个常常令人困惑的问题。当然,对于32位操作系统,铁定就是选x86了。
如果是64位操作系统,很多童鞋会想当然自作聪明地选择x64,其实不然。正确的理解是这样的:
);
}
为了大家的考虑,还是把工程文件发一下吧,虽然这次只有简单的几句代码:
【OpenCV+VS2010开发环境配置 测试用例 by浅墨】下载
7.可能遇到的问题和解决方案
呼,生活不可能是一帆风顺的,我们的配置过程也是。浅墨在几次的配置过程中,出现了如下的几种典型问题,我相信你可能会出现,就在这里集中列举一下吧,希望能为大家解惑:
1. 找不到core.h
出现这个问题是因为include的时候粗心大意了。
如果你的版本是2.4.6。在这个版本下,opencv根文件夹下面就有个include,但我们配置的时候如果包含的是他就坑爹了。
正确的应该填build里面的那个include。
2.无法解析的外部命令
这个问题其实上面有过解释了,不管你是32位还是64位操作系统,只用管你用win32编译器还是X64 编译器。
其实配置选择什么跟64位还是32位系统没有直接的关系,而是在于你在编译你的程序的时候是使用那个编译器。
编译器是win32,就用x86
编译器是X64,就用X64。不过一般情况下,都是用的win32的X86编译器。所以,
无论32还是 64位操作系统,配置文件最好都选择x86版的。
3.关于形如--error LNK2005:xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义
出现这个问题,把静态库不包含就行了。
4. 应用程序无法正常启动0xc000007b
Lib包含的问题。也许你同时包含了X86和X64的,或者包含出错错了。
5.明明图片路径是对的,却载入不进去图片,提示指针越界,有未经处理的异常
类似错误如图:
Visual Studio 2010配置Opencv2.4.9的更多相关文章
- visual studio 2010配置驱动开发环境
visual studio 2010 配置驱动开发环境 ** 工具/材料 VS2010.WDK开发包 ** 配置过程 以下将讲述VS2010驱动开发环境的配置过程,至于必要软件的安装过程这里不再赘述 ...
- [内核编程] visual studio 2010配置驱动开发环境
visual studio 2010 配置驱动开发环境 ** 工具/材料 VS2010.WDK开发包 ** 配置过程 以下将讲述VS2010驱动开发环境的配置过程,至于必要软件的安装过程这里不再赘述 ...
- OpenGL学习-------visual studio 2010配置和第一个OpenGL程序讲解
OpenGL作为当前主流的图形API之一,它在一些场合具有比DirectX更优越的特性. 1.与C语言紧密结合. OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenG ...
- Visual Studio 2010配置OpenGL-1.8
参考博客 : 安装参考 1. http://blog.csdn.net/mooncircle/article/details/5545448 2. http://www.cnblogs.com/moo ...
- OpenCV2.4.9 & Visual Studio 2010 环境配置篇
1. 准备工作 1.1. 安装 Visual Studio 2010, 需要安装 VC++ 相关功能.具体可求助度娘. 1.2. 下载 OpenCV 2.4.9 For Windows:https:/ ...
- WIN7环境下CUDA7.5的安装、配置和测试(Visual Studio 2010)
以下基于"WIN7(64位)+Visual Studio 2010+CUDA7.5". 系统:WIN7,64位 开发平台:Visual Studio 2010 显卡:NVIDIA ...
- Win7 32bit + Matlab2013b +Visual Studio 2010联合编程配置
要建立独立运行的C应用程序,系统中需要安装Matlab.Matlab编译器.C/C++编译器以及Matlab C/C++数学库函数和图形库函数. Matlab编译器使用mbuild命令可以直接将C/C ...
- GDAL Configure in Visual Studio 2010 for Win7/ GDAL+VisualStudio2010 Win7 配置
配置环境: OS:Win& *86 Ultimate Edition(EN) VS:Visual Studio 2010(EN) Step1: GDAL源码下载:http://www.gisi ...
- Visual studio 2010 OpenGL配置
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/niuxiunan/article/details/24557935 题记:今天同学问我关于OpenG ...
随机推荐
- NoSQL精粹(NoSQL Distilled)——序言
之前说到博客长草的问题,想了想除了很忙特别忙非常忙各种瞎忙忙你妹啊外,主要还是不知道写什么好--到这家公司的两年中从JS到领域驱动到缓存服务器从前端到后端各种折腾,有些东西虽然有所心得,不过既然前人已 ...
- 从“程序员转行卖烧饼”想到IT人创业
我的一个朋友最近总在跟我念叨着“我不想做开发了,整天累死累活写程序,也攒不下几个钱.我想辞职搞点啥!” 我问他:“你想搞点啥?”. 他说:“搞啥都比做开发强,做个网站赚广告费,接私活……实在不行我去卖 ...
- Ubuntu配置git
安装ssh sudo apt-get install openssh-server sudo apt-get install openssh-client 启动SSH服务 sudo /etc/init ...
- NABC模型进行需求分析
N(需求): 图书租售管理系统.图书租售管理系统必须包含有完善的图书出租功能.还租.预订(租).会员管理.积分管理.简单的财务系统.详细分类统计.各数据排行榜.详细权限管理. A(做法): 因为有一些 ...
- git删除push到远程服务器的commit
如果不小心把不该提交的代码或者敏感的数据(如密码)提交到远程git服务器上,可以使用git reset回滚到上一个commit,并且commit history不留下任何痕迹. 具体做法: # 1.通 ...
- [BTS] WCF-OracleDB
When I insert some data to Oracle, BizTalk WCF-OracleDB throw this error. A message sent to adapter ...
- 基于iscroll.js实现下拉刷新和上拉加载特效
现在已经不是纯Android独霸天下的时代了,H5嵌入Android的Hybrid混合开发是大势所趋.今天给大家带来的就是移动端中常见的"上拉刷新,下拉加载"特效,这个特效将会基于 ...
- 空间插值文献阅读(Geostatistical approaches for incorporating elevation into the spatial interpolation of rainfall)
空间插值技术应用必读论文---P. Goovaerts, Geostatistical approaches for incorporating elevation into the spatial ...
- [2]. jekyll安装与应用
一.ruby安装 这里在win下安装ruby,对应自己电脑的操作系统位数,如我的是64位,对应下载Ruby 2.0.0-p353 (x64)这个版本的ruby.然后安装过程就很简单了: 命令行下输入r ...
- GCD中的dispatch_sync、dispatch_sync 分别与串行、并行队列组合执行小实验
平常开发中会经常用gcd做一下多线程任务,但一直没有对同步.异步任务在串行.并行队列的执行情况做个全面的认识,今天写了个demo跑了下,还是有些新发现的. 代码如下: - (void)touchesB ...