vs2019创建动态库,包含普通函数,类,C语言函数
- 打开vs2019,创建一个动态链接库
在头文件和源文件中分别创建DLLTest.h、DllTest.cpp
#ifndef DLLTEST_H
#define DLLTEST_H
#ifdef DLLTEST_
#define DLLTEST _declspec(dllexport)
#else
#define DLLTEST _declspec(dllimport)
#endif
DLLTEST int add(int a, int b);
class DLLTEST DLLTest {
public:
int mul(int a, int b);
int div(int a, int b);
};
extern "C" {
DLLTEST int csub(int a, int b);
}
#endif
#include"pch.h"
#include"DLLTest.h"
#include<iostream>
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;
}
- 这里生成Relase × 64,点击生成解决方案,记得要在cpp文件中加入#include"pch.h"
- 右键点击解决方案-添加-新建项目-控制台应用(或者空白应用都可以,控制台有写好的模板可以参考)
#include <iostream>
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;
std::cout << csub(5, 1) << endl;
getchar();
return 0;
}
- 需要配置新建的项目,右键点击属性,最终选取自己建的动态库
- 配置连接器的附加依赖项,其中.lib文件是在生成的×64的Relase中
- 配置链接器中的常规附加库目录
- 最终将项目设置为启动项目,点击本地调试器运行即可!