静态库、动态库、QT Plugin的创建与应用

这篇博客详细介绍了静态库、动态库的概念,并在Windows和Linux环境下,分别展示了如何创建和使用静态库、动态库。接着,重点讲解了在QT环境中,如何创建和应用静态库、动态库以及Plugin,包括高级插件和底层插件的创建步骤,适合QT开发者参考学习。
摘要由CSDN通过智能技术生成

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
//static_lib.h:
int add(int x, int y);
int substract(int x, int y);
//static_lib.cpp:
#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函数文件
// UseStaticLib.cpp : 此文件包含 "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 创建动态库

  • 新建项目Visual C++|桌面|动态链接库
// Dll.cpp : 定义 DLL 应用程序的导出函数。
//

#include "stdafx.h"

//Dll.cpp
#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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值