一个电脑小白的自我成长之路8_*
配置步骤
设置环境变量
即设置【(双击)计算机】->【系统属性】->【高级系统设置】->【高级(标签)】->【环境变量】->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的属性是有继承关系的,属性继承:
- 项目属性已分层。 每层继承前一层的值,但是继承的值可以通过设置属性显式重写。 这是基本的继承树:
来自 MSBuild CPP 工具集的默认设置(…\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props,由 .vcxproj 文件导入。) - 属性表
- .vcxproj 文件。(可能重写默认设置和属性页设置。)
- 项元数据
提示:在属性页中,加粗的属性在当前上下文中定义。 普通字体的属性将被继承