vs包含目录以及链接库

Posted zhangthree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs包含目录以及链接库相关的知识,希望对你有一定的参考价值。

要使用第三方提供的库,我们需要:

一、设置环境变量:

环境变量是属于操作系统的,而不是某个具体编译器的,环境变量的设置是全局有效的

以win xp系统系统为例:我的电脑——右键——属性——高级

技术图片

技术图片

点开环境变量

技术图片

技术图片

这里有两个,上一个是管理员用户有效,下一个是系统所有用户有效,主要设置下面一个的Path路径就可以了:双击Path打开:

技术图片

技术图片

变量值那里往后面添加,以“;”分隔,比如,要使用boost库,在不删除前面值得情况下,在后面加  ;D:\...\boost

还要使用其他库,再在后面加;路径名,再确定即可。

       如果不想设置环境变量,也可以在针对项目:右键项目—属性—配置属性—VC++目录—可执行文件目录,见下图

二、包含路径设置

        以下以vs2012为例,使用protopuf库做为例子:

建好项目,并包含必要的头文件之后:

1、 设置包含目录与库目录:右键项目—属性—配置属性—VC++目录—包含目录、库目录设置(设置后的结果)

技术图片技术图片


包含目录:各种头文件的所在目录,一般文件名为include

  技术图片技术图片

库目录:各种lib所在目录,一般文件名为lib

  技术图片技术图片

未设置包含路径将出现找不到相关头文件编译时错误。

2、设置需要链接lib名字(将对应lib链接到项目):右键项目—属性—配置属性—链接器—输入—附加依赖项(设置好后结果)

技术图片技术图片

注意1中是设置lib路径、这里是指定lib名,两者不同。未设置此项可能出现链接错误:error LNK2019: 无法解析的外部符号

  添加对应的lib

技术图片

技术图片

如果不采用步骤2,还可以采用以下方法链接lib:在项目中使用预编译指令:#pragma comment (lib,"路径\*.lib")

以上方式针对指定的项目,如果需要针对所有项目指定可以参考:

http://blog.csdn.net/superbfly/article/details/18075915


如果是vs2008,参考:

  http://blog.csdn.net/zhuce0001/article/details/21279527

环境变量设置参考:

win7系统环境变量设置:http://jingyan.baidu.com/article/b24f6c82cba6dc86bfe5da9f.html

xp系统环境变量设置:http://jingyan.baidu.com/article/fc07f989203d5812ffe51912.html


另一种方式:设置“附加包含目录”、“附加库目录”,功能同上面的“包含目录”、“库目录”

在VS工程中,添加c/c++工程中外部头文件及库的基本步骤:

    1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。

    2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
         然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。

    3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。


以上是关于vs包含目录以及链接库的主要内容,如果未能解决你的问题,请参考以下文章

VS.net中如何使用静态库

在 VS2012 中链接源和库目录

如何用VS2010编写动态链接库DLL

VS2015_动态链接库学习

vs链接错误解决方法

求问vs2013怎么添加静态库,试了两种方法都有问题