VS2013 中生成lib和dll库文件

转载出处:http://blog.csdn.net/renyhui/article/details/21282073


①新建项目-->win32-->win32项目-->输入项目名为DllTest-->选择Dll-->选择空项目-->完成


②添加头文件和源文件并命名为DllTest.h和DllTest.cpp(方法:分别在头文件和源文件  :右键---添加---新建项)


③头文件和源文件的定义(这里我们只实现加法运算)

// DllTest.h

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. #ifdef DLL_API  
  2. #else  
  3. #define DLL_API __declspec(dllexport)  
  4. #endif  
  5. // 声明要导出的函数  
  6. DLL_API int add(int a, int b);  


// DllTest.vpp

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. #define DLL_API __declspec(dllexport)  
  2.   
  3. #include "DllTest.h"  
  4.   
  5. int add(int a, int b)  
  6. {  
  7.     return a + b;  
  8. }  

④我们编译运行一下,因为不是完整的文件,这里会报错,不过没关系,这是我们找到文件存放的位置,会发现DeBug文件中会包含

这些生成的文件,这里我们只关心.dll和.lib文件。在Debug同级目录下,在DllTest文件中,会找到DllTest.h文件

.dll文件即使动态链接库,.lib文件是程序开发用的导入库,.h文件包含导出函数的声明


⑤我们再新建一个项目,命名为TestForDll,选择win32 控制台应用程序



⑥将我们④中的三个文件存放到TestForDll目录下的TestForDll文件中


如果我们直接存放在TestForDll文件中会出现    error C1083: 无法打开包括文件: “DllTest.h”

如果我们这时只把DllTest.h放进去的话会出现错误:error LNK1104: 无法打开文件“DllTest.lib”

这时再把.lib文件放入TestForDll目录下的TestForDll文件中,就可以正常的编译运行


使用#pragma comment(lib,"DllTest")命令链接到DllTest.lib库。当然我们也可以使用项目---属性---配置属性----链接器---输入-----附加依赖项中添加DllTest.lib



这里给出main函数的实现

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. #include <stdio.h>  
  2. #include "DllTest.h"  
  3.   
  4. #pragma comment(lib,"DllTest.lib")  
  5.   
  6. int main()  
  7. {  
  8.     int a = 3;  
  9.     int b = 2;  
  10.     printf("a+b=%d\n", add(a,b));  
  11.     return 0;  
  12. }  

备注:如果我们把没把.dll文件放在debug目录下,当关闭程序,重新启动的时候,会出现找不到.dll文件的错误

因此我们最好要把.dll文件放在debug目录下


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值