1. 什么是静态库、动态库、QT Plugin
类型 |
Windows |
Linux |
静态库 |
.lib |
.a |
动态库 |
.dll |
.so |
2. Windows下静态库、动态库的创建与使用
2.1 Windows下使用VS创建静态库并使用
2.1.1 创建静态库
- 新建项目
Visual C++|桌面|静态库
- 新建
staticLib.h、static_lib.h.cpp
int add(int x, int y);
int substract(int x, int y);
#include "stdafx.h"
#include "static_lib.h"
int add(int x, int y)
{
return x + y;
}
int substract(int x, int y)
{
return x - y;
}
- 生成解决方案,生成
static_lib.lib
静态库文件
2.1.2 使用静态库
- 新建
Visual C++|桌面|Windows控制台应用程序
- 将
staticLib.h、static_lib.lib
拷贝至main
函数文件同一目录下
- 修改
main
函数文件
#include "pch.h"
#include <iostream>
#include "static_lib.h"
#pragma comment(lib, "StaticLib.lib")
using namespace std;
int main()
{
cout << add(3, 4) << endl;
cout << substract(5, 3) << endl;
return 0;
}
2.2 Windows下使用VS创建动态库并使用
2.2.1 创建动态库
#include "stdafx.h"
#define DLL_API _declspec(dllexport)
#include <iostream>
using namespace std;
DLL_API int add(int a, int b)
{
return a + b;
}
DLL_API int subtract(int a, int b)
{
return a - b;
}
- 生成解决方案,生成
Dll.dll、Dll.lib
动态库文件
2.2.2 使用动态库
- 新建
Visual C++|桌面|Windows控制台应用程序
- 将
Dll.dll、Dll.lib
拷贝至main
函数文件同一目录下
- 修改
main
函数文件
#include "pch.h"
#include <iostream>
using namespace std;
#pragma comment(lib, "DLL.lib")
extern int add(int a, int b);
extern int subtract(int a