(1)VS环境配置
写多了Vs中的工程,就会遇到很多环境配置问题,例如“依赖项”,“库目录”,“包含目录”等等等等。
今天要记录的就是这些的基本含义:我们拿一个例子来看,更加清晰易懂一些:
例如在Opencv3.0+VS的配置中,我们需要的工具有:
1、Opencv3.0源码包(一个exe文件,双击后解压)
2、安装好的VS2013
接下来,就是配置了:
1、添加环境变量至Path中:opencv\build\x86\vc12\bin
2、在VC++中新建一个项目,空的console项目,然后建立一个main.cpp,随后右键点击项目,点击属性:
在【通用属性】->【VC++目录】中,常用的是:
a、包含目录:(这里对于opencv的配置是:opencv\build\include opencv\build\include\opencv2 opencv\build\include\opencv)
b、库目录:(这里对于opencv的配置是:\opencv\build\x86\vc12\lib)
c、可执行文件目录:(可以配,对于opencv的配置是opencv\build\x86\vc12\bin)
在【链接器】->【输入】中,常用的是:
a、附加依赖项:(这里对于opencv的配置是:
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
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_ml249.lib
opencv_nonfree249.lib
opencv_objdetect249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_videostab249.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib
)
重点来了,我们借用这个例子来说明说明呢?
说明这几个名词到底是什么意思,我们可以理解的意思:
1、包含目录:就是头文件所在的目录,一般在一个名字类似于include的文件夹下面。
2、库目录:就是所包含静态链接库(lib文件)的目录,一般是名字为lib
3、可执行文件目录:就是所用到的一些动态链接库的目录
4、附加依赖项:就是库目录文件夹下面要引用那些lib文件,一般静态链接库嘛,大家为了方便,一次性全部添加进去就好了。
你可以找到lib文件夹,然后ls一下,得到所有的文件名字,然后粘过去就好了。
如果要使用这些类,需要在文件中包含头文件的名字,如#include “cv.h”。但这个并不够,因为这个文件一般来说不在当前目录下。
在一个新建项目中,添加其他人写好的工具包的头文件、静态库和动态库的方法总结如下:
- 头文件
添加方法:工程---属性---配置属性---c/c++---常规---附加包含目录(Additional Include Directories):加上头文件存放目录。
注意:在使用代码处引用这个头文件,#include "xxx.h" - 静态库
添加方法:添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录(Additional Library Directory):加上lib文件存放目录。 然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项(Additional Dependencies):加上lib文件名。
- 动态库
把引用的dll放到工程的可执行文件所在的目录(DeBug文件夹)下,如不添加,编译连接不会报错,运行报错:无法找到***.dll文件。