1.创建项目
1.1新建项目
1.2.点击下一步之后,按下图操作
2. 导出类设计
①导出类头文件开始处加入以下代码
#define __DLL_H__
#define __DLL_EXPORTS__
#ifdef __DLL_EXPORTS__
#define DLLAPI __declspec(dllexport)
#else
#define DLLAPI __declspec(dllimport)
#endif
②导出类前要加关键字 DLLAPI
③ 将要提供给用户的接口写在导出类中即可
④编译时候项目目录Debug文件夹下就会生成dll文件
3. dll文件的使用
①将导出类的头文件、dll、lib放入应用项目目录下
②将导出类的头文件包括在应用项目下
③链接库
注意:
除了在项目中动态链接库,还可以在项目配置中“链接器-输入”中输入lib
运行结果:
4. 实际开发中遇到的问题
类A作为导出类,类B作为实现类,需要在导出类中提供对类B的接口
错误做法: 在类A头文件中#include “B.h”, A拿去被用时,会报找不到B.h,但是并不希望类B被用户操作
解决办法:
①在类A声明之前声明类B:
②在A,cpp中包括B的头文件
Tips: dll是打包了类的cpp文件
5. 开发过程中,如何避免一旦修改dll要重新复制相关文件到应用项目的麻烦
- 将dll项目拷贝到应用项目下
2.将dll项目添加到解决方案中
3.添加库目录路径
- 以上两个输出目录是一样的
4. 动态链接库 及 头文件添加