C++动态链接库封装

封装一个动态连接库的大致步骤

由于我们部门主要是利用MFC开发,所以我简单的做了一个关于MFC规则动态库的创建以及调用的文档,仅供参考。

  1. 新建MFC DLL项目(命名为NewDll)

 

 

2.分别为刚见得项目添加一个名为MyNewClass.h的头文件和一个名为MyNewClass.cpp 的源文件(如下图)

 

 

3.分别在头文件中和源文件中 写下如下代码

头文件

 

 

 

源文件

 

如果这个时候进行编译,那么将会出现如下错误

 

 

出现这个错误的原因是由于这个是一个导出文件,由于没有找到宏_MYNEWCLASS_EXPOTR_

解决以上错误的办法是点击 项目->属性->C/C++->预处理器->加上_MYNEWCLASS_EXPOTR_就可以解决问题了,在编译就成功了

 

 

下面是关于Dll的调用示范:

  1. 新建一个MFC应用程序NewDllTest

 

 

 

2.在新建的应用程序的对话框中加入2个按钮,分别为调用类和调用函数

 

 

先把前面生成的NewDll.dll和NewDll.lib拷贝到NewDllTest应用程序的目录下

在新建应用程序的源文件NewDllTestDlg.cpp 中先添加进来Dll的头文件,既如下路径

 

 

调用类的代码如下

 

 

 

调用函数的代码如下

 

 

执行完以上程序步骤后 编译 然后会发现如下错误

 

 

此错误出现的原因还是由于不识别函数,由于lib没有导入,有3中解决办法,第一种是在头文件中加上以下导入  #pragma comment(lib,"NewDll.lib") 第二种是在dll声明导入的同时将这句话加入。第3种是不用包含头文件,而去项目属性->链接器->输入->附加依赖项-> NewDll.lib  利用此3中方法后再编译都会编译成功

 

 

 

 

声明:以上纯属个人总结。如果疑惑请参考相关书籍

转载于:https://www.cnblogs.com/CityLcf/p/10590665.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值