

2. 在头文件和源文件中分别创建DLLTest.h、DllTest.cpp
#ifndef DLLTEST_H
#define DLLTEST_H
//宏定义导出
#ifdef DLLTEST_
#define DLLTEST _declspec(dllexport) //如果没有定义DLLTEST_,就定义 DLLTEST _declspec(dllexport)
#else
#define DLLTEST _declspec(dllimport)
#endif // DLLTEST_
//导出函数
DLLTEST int add(int a, int b);
//导出类
class DLLTEST DLLTest {
public:
int mul(int a, int b);
int div(int a, int b);
};
//以C语言方式导出函数
extern "C" {
DLLTEST int csub(int a, int b);
}
#endif // !DLLTEST_H
#include"pch.h"
#include"DLLTest.h"
#include
using namespace std;
int add(int a, int b) {
return a + b;
}
int DLLTest::mul(int a, int b) {
return a * b;
}
int DLLTest::div(int a, int b) {
return a / b;
}
int csub(int a, int b) {
return a - b;
}
如果生成的文件只有dll,没有lib。
项目右键-添加-新建项-选择.def文件添加,添加后不需要任何改动,直接编译。

// DLLTestDemo.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include
using namespace std;
#include"DLLTest.h"
int main()
{
//调用函数
std::cout << add(1, 0) << endl;
//调用类中的成员函数
DLLTest dt;
std::cout << dt.mul(2, 1) << endl;
std::cout << dt.div(3, 1) << endl;
//调用以C语言形式导出的函数
std::cout << csub(5, 1) << endl;
getchar();
return 0;
}


7. 配置链接器中的常规附加库目录

8. 右键项目,设置为启动项目,点击本地调试器运行即可!

这样,每次修改库之后,直接编译,无需其他操作,运行启动项目即可使用新编译的lib
以上内容,来自:
https://blog.csdn.net/CSDNdk1997/article/details/122435377
https://blog.csdn.net/weixin_44122235/article/details/121116630