maolike

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

(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”。但这个并不够,因为这个文件一般来说不在当前目录下。

  在一个新建项目中,添加其他人写好的工具包的头文件、静态库和动态库的方法总结如下:

    1. 头文件
      添加方法:工程---属性---配置属性---c/c++---常规---附加包含目录(Additional Include Directories):加上头文件存放目录。
      注意:在使用代码处引用这个头文件,#include "xxx.h"
    2. 静态库
      添加方法:添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录(Additional Library Directory):加上lib文件存放目录。 然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项(Additional Dependencies):加上lib文件名。
    3. 动态库
      把引用的dll放到工程的可执行文件所在的目录(DeBug文件夹)下,如不添加,编译连接不会报错,运行报错:无法找到***.dll文件。

 

posted on 2018-03-28 16:09  maolike  阅读(1383)  评论(0编辑  收藏  举报