首先要看看官方网站给出的详细介绍如何 创建和使用dll动态链接库项目,点击打开链接
这个链接中将创建dll的项目和使用dll的项目放在同一个solution当中。这可能不是我们想要的情况。我们通常希望自己随意创建一个项目来利用现有的dll文件。那怎么办呢?
动态链接库的加载需要三个文件:
1 头文件 "fun.h"
2 动态链接库文件 "fun.dll"
3 动态链接库引入库文件 "fun.lib"
先对这三个文件之间的关系作一个说明,其中上面这三个文件是一个dll项目里面的,我们最终其实只想用fun.dll在我们的项目当中。但是使用它必须要使用fun.h这个文件在我们的项目当中,因为这个文件声明了fun.dl当中到底实现了哪些函数和类等。而要想使用fun.dll我们的编译器又需要fun.lib文件作为引导。这些都是在编译之前做的工作。真正我们的项目编译完成之后其实生成了一个application.exe文件,它最终生成在我们的“项目名->Debug”文件夹下。只有这个文件在运行起来的时候才会需要fun.dll的支持。这就告诉我们最好将fun.lib和fun.dll都提前放到我们的“项目名->Debug”文件夹中。下面在说如何设置Visual C++ 2010 或者Visual Studio 2010
在Visual C++ 2010中设置三个地方
1 头文件的包含:添加 "fun.h",参见上一篇博客中的内容(不再赘述,有显示和隐士两种方法)。
2 动态链接库文件的包含: 将fun.lib和fun.dll都放到“项目名->Debug”文件夹中
3在 "project->projectname properties->cinfiguration properties->Linker->Input->Additional Dependencies" 中添加此文件名 "fun.lib"。
以上方法不是唯一的,但我综合了多种方法之后,发现这个最省事。虽然每次用一个dll文件都要拷贝**.dll 和 **.lib到自己的Debug目录中。但是这个三步走很容易使用。算是比较好用的了。(或者在代码中直接使用#pragma comment(lib,"fun.lib"))
欢迎同行或有兴趣的批评指正,大家共同进步!