OpenCV 2.4.9的开发环境配置(黎博)

1、下载VS2010和 OpenCV 2.4.9,并完成解压。

http://opencv.org/

http://download.csdn.net/detail/morre/9731670

下载完后得到文件OpenCV 2.4.9,双击后会提示解压到某个地方,推荐放到D:\Program Files\下,比如D:\Program Files,(因为OpenCV项目文件打包的时候,根目录就是opencv,所以我们不需要额外的新建一个名为opencv的文件夹,然后再解压,那是多此一举的事情)然后点击Extract按钮。

等一段时间,OpenCV2.4.9近3个多G的文件就解压到了D:\Program Files下。

 其中,build里面是使用OpenCV相关的文件,sources里面是源代码。想查看完整的源代码需要用cmake来“解包”。

2、配置环境变量:

配置方法如下:

计算机->(右键)属性->高级系统设置->高级(标签)->环境变量->(双击)path(用户,系统里面的path任选其一)->在变量值里面添加相应的路径。

对于32位系统,就添加:

\opencv\build\x86\vc10\bin;

而对于64位系统,可以两个都添加上:

\opencv\build\x86\vc10\bin\opencv\build\x64\vc10\bin

 例如,本人配置的上位机就是:

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)目录的配置

下面对VS2010环境中的包含目录进行配置:

<视图>--<属性管理器>

 

也可在新出现的“属性管理器”工作区中,点击项目:

->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。

https://img-blog.csdn.net/20140224103001375?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9lbV9xaWFubW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

 接着是在

【通用属性】 ->【VC++目录】 ->【包含目录中】

https://img-blog.csdn.net/20140224103237765?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9lbV9xaWFubW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

添加上这三个目录:

D:\Program Files\opencv\build\include

D:\Program Files\opencv\build\include\opencv

D:\Program Files\opencv\build\include\opencv2 

https://img-blog.csdn.net/20140224103257015?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9lbV9xaWFubW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

当然,这是之前把OpenCV解压到D:\Program Files\下的情况。实际的路径还要看你自己把OpenCV解压到了哪个目录下,根据实际情况来调节。

 

4.工程库(lib)目录的配置

点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。【通用属性】 ->【VC++目录】 ->【库目录】。

https://img-blog.csdn.net/20140224103438109?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9lbV9xaWFubW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

添加上路径:

D:\ProgramFiles\opencv\build\x86\vc10\lib

注意:

不管你是32位还是64位操作系统,只用管你用win32编译器还是X64编译器。

其实配置选择什么跟64位还是32位系统没有直接的关系,而是在于你在编译你的程序的时候是使用那个编译器。

https://img-blog.csdn.net/20140224103833203?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9lbV9xaWFubW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

编译器选的是win32,就用x86编译器选的是X64,就用X64。不过一般情况下,都是用的win32的X86编译器。所以,无论32还是64位操作系统,配置文件最好都选择x86版的另外,这里的vc10表示vs2010,如果是其他版本的visual studio,稍微要微调一下。

 

5.链接库的配置 

属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。【通用属性】 ->【链接器】->【输入】->【附加的依赖项】

添加如下的内容:

opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib

需要注意的是,所粘贴内容即为D:\opencv\build\x86\vc10\lib下所有lib库文件的名字;其中的249代表我们的OpenCV版本为2.4.9,若是其他版本的配置则在这里要进行相应的更改,比如说2.4.6版的OpenCV,那么这里的opencv_calib3d246d.lib就要改成opencv_calib3d246d.lib了.Debug文件库名有d结尾,Release没有,如 opencv_ts249d.lib和opencv_ts249.lib。

 

6、配置过程中遇到的问题:

到此为止,完成了VS2010和 OpenCV2.4.9的开发环境配置,再次运行程序(F5),仍然不能使程序正常运行,出现:vs2010 fatal error LNK1169: 找到一个或多个多重定义的符号。这是因为:全局变量的重复定义。比如在a.h中申明了全局变量 int global;在b.h中申明 extern int global;则include a.h相当于吧a.h中全局变量的申明又include进来了,所以编译器会认为是重复编译。

解决方法:在属性-链接-命令行中添加 /force:multiple,强制允许多重定义,则编译的时候会自动忽略第二个定义。

再次运行程序,出现:vs2010 fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

解决方法:复制

C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7601.17514_none_ba1c770af0b2031b 目录下的 cvtres.exe 到安装Microsoft Visual Studio 10.0的目录下,如C:\Program Files\Microsoft Visual Studio 10.0\VC\bin ,直接覆盖替换。

再次运行上位机程序,出现了上位机界面,环境配置到此结束。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Teddygogogo

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值