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

终于弄清楚了opencv的配置原理了

2016-12-27 14:35 204 查看

配置步骤

设置环境变量

即设置【(双击)计算机】->【系统属性】->【高级系统设置】->【高级(标签)】->【环境变量】->path

…… opencv\build\x86\vc10\bin

…….opencv\build\x64\vc10\bin

原理:设置opencv的动态链接库.dll文件所在的目录,用于运行时动态载入。

设置包含目录

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

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

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

D:\Program Files\opencv\build\include

设置库目录

即【通用属性】 ->【VC++目录】 ->【库目录】

D:\Program Files\opencv\build\x86\vc10\lib

原理:设置opencv的动态链接库的引入库文件(.lib),用于编译时链接,包含了dll索引信息,记录了dll中函数的入口和位置,而dll中是函数的具体内容(path已经给定其位置)。注意设置库目录和设置附加依赖项一起才能告诉链接器链接哪个附加依赖项。

说明:一般可能误认为对于32位系统,这里选择X86,而对于64位系统这里要选择X64。其实这样理解是不对的,我们不用管操作系统是多少位的,只看我们用的是32位的编译器还是用64位的编译器,即我们在编译程序时使用的是哪个编译器。

D: \Program Files\opencv\build\x64\vc11\lib(编译64位软件时)

D: \Program Files\opencv\build\x86\vc11\lib(编译32位软件时)

二者只能添加一个,都添加上会出错

设置附加依赖项

即【通用属性】 ->【链接器】->【输入】->【附加的依赖项】

opencv_calib3d2413d.lib

opencv_contrib2413d.lib

opencv_core2413d.lib

opencv_features2d2413d.lib

opencv_flann2413d.lib

opencv_gpu2413d.lib

opencv_highgui2413d.lib

opencv_imgproc2413d.lib

opencv_legacy2413d.lib

opencv_ml2413d.lib

opencv_nonfree2413d.lib

opencv_objdetect2413d.lib

opencv_ocl2413d.lib

opencv_photo2413d.lib

opencv_stitching2413d.lib

opencv_superres2413d.lib

opencv_ts2413d.lib

opencv_video2413d.lib

opencv_videostab2413d.lib

opencv_calib3d2413.lib

opencv_contrib2413.lib

opencv_core2413.lib

opencv_features2d2413.lib

opencv_flann2413.lib

opencv_gpu2413.lib

opencv_highgui2413.lib

opencv_imgproc2413.lib

opencv_objdetect2413.lib

opencv_superres2413.lib

opencv_stitching2413.lib

opencv_photo2413.lib

opencv_ocl2413.lib

opencv_nonfree2413.lib

opencv_ml2413.lib

opencv_legacy2413.lib

opencv_ts2413.lib

opencv_video2413.lib

opencv_videostab2413.lib

Debug文件库名有d结尾,Release没有

原理:设置库目录—Tells the linker where to look for libraries. 设置附加依赖项—Tells the linker what libraries to look for in those directories. 注意设置库目录和设置附加依赖项一起才能告诉链接器链接哪个附加依赖项。

VS属性设置

注意Microsoft.Cpp.Win32.user和Microsoft.Cpp.x64.user属性表单是全局的,注意查看属性对话框的名字。



上面两个属性表单在C:\Users\xxxx\AppData\Local\Microsoft\MSBuild\v4.0



还有VS的属性是有继承关系的,属性继承:

1. 项目属性已分层。 每层继承前一层的值,但是继承的值可以通过设置属性显式重写。 这是基本的继承树:

来自 MSBuild CPP 工具集的默认设置(..\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props,由 .vcxproj 文件导入。)

2. 属性表

3. .vcxproj 文件。(可能重写默认设置和属性页设置。)

4. 项元数据

提示:在属性页中,加粗的属性在当前上下文中定义。 普通字体的属性将被继承

参考链接

http://blog.sina.com.cn/s/blog_6dd65c6f0100vveq.html

http://www.cppblog.com/amazon/archive/2009/09/04/95318.html

https://msdn.microsoft.com/zh-cn/library/669zx6zc(v=vs.120).aspx

http://blog.csdn.net/u013058751/article/details/52237588

另外可以参考opencv库自带的教程opencv_tutorials.pdf的1.5节
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: