VS调用开源库的配置方法

来源:互联网 发布:etcd raft 源码阅读 编辑:程序博客网 时间:2024/05/22 17:15

VS2010调用开源库是开发中经常遇到的事情,但是新手最烦的一件事情就是开源库的include头文件和lib文件还有.dll文件如何设置,有的时候没弄明白条理或者存放位置太乱,当把工程文件拷贝到其他人或者更换目录时要么编译不通过要么连接不通过,都通过了还很可能由于dll没设置好导致运行不起来。不像Linux那样在Makefile文件里设置一下就好。下面将详细讲解开源库的VS使用。

首先介绍vs能够使用到开源库的文件,开源库的源码拿过来build后一般会build出三个VS能够使用到的东西

1.include头文件:vs编程时需要调用开源库中函数或者结构的(只是头文件,没有.c文件的实现,因为函数实现都在.lib文件里了,连接时候自动连接的)

2.lib文件:就是1所说的编译连接时候要找的程序入口,静态库

3.bin中的.dll文件:动态库,是所写的可执行程序运行时所需要的动态库

vs调用开源库时候能够使用到的就只有上面说的这三点


OK,知道这个规则之后下面看一下上面三点应该怎么配置(与上面三点对应)

1.include:所需的头文件在vs中右击项目解决方案---属性---vc++目录----包含目录:中需要填入的就是include文件夹中    的.h头文件的地址(点击编辑--新建---降地址复制进去即可)

2.lib:  在右击项目解决方案---属性---VC++目录----库目录里跟1一样的方法把lib文件地址复制进去

          还需要在右击项目解决方案---属性---链接器---输入----附加依赖项里添加所使用的库名字,不知道的话就把全           部的库名字都放进去

3.上面说了.dll是动态库文件,也就是程序在运行的时候动态加载的函数,所以说是运行程序时候windows提供给的,所以说他的配置当然就是配置win了

Linux中是添加搜索路径,win里是设置环境变量:右击我的电脑---属性---高级环境设置----环境变量----找到PATH---点击编辑----在以前的路径后面添加分号隔开然后再添加上所使用的dll路径


只要遵循这三部,一个项目中不管会用到多少个开源库都是条理很简单的事情,当然要把每个库所需的上面三点目录放好了,不要将全部库的东西都放到一起,到时候弄得乱的一B,本人闲乱

下面说个例子:

本例用到了四个开源库:live555用来接收流媒体数据;ffmpeg用来解码视频;sdl用来显示视频;opencv用来处理视频

首先将四个开源库放到以下目录下


每个目录下包括自己的bin、lib、include文件夹

1.右击自己vs工程---点击属性---vc++目录---包含目录---编辑---分别添加以下目录

//opencv的目录

H:\vs2010\opencv\opencvIncludeLib\include\opencv2

H:\vs2010\opencv\opencvIncludeLib\include\opencv

H:\vs2010\opencv\opencvIncludeLib\include

//ffmpeg的目录

H:\vs2010\FFmpeg\FFmpegIcludeLib\local\include

live555的目录

H:\vs2010\live555\live555IcludeLib\include

//sdl的目录

H:\vs2010\SDL\SDLIncludeLib\Include

2.库目录

//sdl的lib目录

H:\vs2010\SDL\SDLIncludeLib\Lib

//opencv的目录

H:\vs2010\opencv\opencvIncludeLib\lib

ffmpeg的目录

H:\vs2010\FFmpeg\FFmpegIcludeLib\local\lib

live555的目录

H:\vs2010\live555\live555IcludeLib\lib

3.点击链接库---输入---附加依赖项---编辑

输入所用到的lib库名字

avcodec.lib
avformat.lib
avutil.lib
avdevice.lib
avfilter.lib
postproc.lib
swresample.lib
swscale.lib
SDL2.lib
BasicUsageEnvironment.lib
groupsock.lib
liveMedia.lib
UsageEnvironment.lib
WS2_32.Lib
opencv_imgproc249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib

4.修改win的环境变量

右击我的电脑---属性---高级环境设置----环境变量----找到PATH---点击编辑----在后面添加

H:\vs2010\live555\live555IcludeLib\bin;

H:\vs2010\FFmpeg\FFmpegIcludeLib\local\bin;

H:\vs2010\opencv\opencvIncludeLib\bin;

H:\vs2010\SDL\SDLIncludeLib\bin

四个库的bin目录


ok,经过上面四步后所有配置已经完成,现在你的程序编译连接运行都是没有问题的了

以后更改目录时候只要查看上面四步是否设置的正确就好了


原文地址:http://blog.csdn.net/zhangjikuan/article/details/40405567


0 0