VS中使用动态库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS中使用动态库相关的知识,希望对你有一定的参考价值。

参考链接:http://blog.csdn.net/aaa123524457/article/details/51345718

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

先说说静态库的普通的两种方法:

方法1:  通过设置工程配置来添加lib库.

转自网上:

 

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

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

这种方法比较繁琐,且不直观,而且还可能要争对debug版本和release版本作不同的配置,因为我们生成的两个版本的库可能放在不同的目录中的.

 

方法2: 使用编译语句:

#ifdef _DEBUG
#pragma comment(lib,"..\\debug\\LedCtrlBoard.lib")
#else
#pragma comment(lib,"..\\release\\LedCtrlBoard.lib")
#endif

这种方法直观,方便,且可以按如上直接区分出Debug版本和Release版本的不同目录.当然,通过宏,还可以区分更多版本.

但是在指定目录时,不小心容易出错.

 

方法3: 直接添加库文件到工程中.

就像你添加.h和.cpp文件一样,把lib文件添加到工程文件列表中去.

VC中,切换到"解决方案视图",--->选中要添加lib的工程-->点击右键-->"添加"-->"现有项"-->选择lib文件-->确定.

就是这么简单,搞定.

这个方法适用于在我的工程的debug版本和Release版本中都使用同一个lib库文件时.这样就省去了你1方法配置环境的繁琐,也省去了方法2种语句的可能性错误发生.

以上是关于VS中使用动态库的主要内容,如果未能解决你的问题,请参考以下文章

VS2012编译的DLL动态库为啥在VS2012上调用正常,在VS2008上使用失败

使用VS2015创建和使用动态链接库-图文详解

怎么在C#中添加用C语言开发的动态链接库dll文件(vs2010)?

C++开发新版本vs使用旧版本vs编译的静态库动态库

VS2010添加外来库设置

Windows静态库和动态库的创建和使用(VS2005)