1.生成.dll文件和.lib文件
已知现在有两个文件AAA.h和AAA.cpp,要把这两个文件中定义的类外部调用。
1.1在.h文件中添加以下内容:
#ifdef DLL_EXPORTS //名字随便捏,后面要加_EXPORTS
#define DLL_API __declspec(dllexport) //名字随便捏,后面加__declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
//后面是其他代码
1.2如果外部要调用结构体、类或函数
如果外部要调用结构体、类,在.h文件的结构体名字前加“DLL_API”
// 导出类
class DLL_API Cdll {
public:
Cdll(void);
// TODO: 在此添加您的方法。
};
如果外部要调用函数,在.h文件中
DLL_API int fun(int m);
1.3设置
在界面中找到“解决方案资源管理器”
-》右击项目名称
-》点击“属性”
-》配置属性——常规——配置类型——动态库(.dll)
-》配置属性——高级——目标文件扩展名——编辑——.dll
-》配置属性——C/C++——预处理器——预处理器添加DLL_EXPORTS(这要参考.h文件中定义的内容)
1.4编译
点击生成——生成解决方案
生成的文件在x64文件夹——Release文件夹
2.在项目中如何使用.dll文件
2.1 将.h文件、.lib文件和.dll文件放进需要的项目文件夹中
2.1.1. 头文件路径设置
-
项目属性 → C/C++ → 常规 → 附加包含目录
-
添加
.h所在目录
2.1.2. 链接导入库
-
项目属性 → 链接器 → 常规 → 附加库目录
-
添加
.lib文件所在目录
-
-
项目属性 → 链接器 → 输入 → 附加依赖项
-
添加
Cdll.lib
-
2.1.3. DLL 部署位置
运行时需保证 .dll 在以下路径之一:调用方可执行文件同级目录(推荐)
2.2 在要使用的文件中添加以下代码
#include "AAA.h" // 包含头文件
#pragma comment(lib, "AAA.lib") // 链接lib文件


9747

被折叠的 条评论
为什么被折叠?



