当前位置:网站首页>【QT】Qt 给已经开发好的程序快速封装成动态库
【QT】Qt 给已经开发好的程序快速封装成动态库
2022-08-03 15:49:00 【Cappuccino-jay】
前两篇博客:
1、不带ui界面的动态库的生成与调用
2、带ui界面的动态库的生成与调用
如果是已经开发好的工程或项目,想要封装成动态库,如何更加快速便捷:
例如:QT项目工程
如何给该项目工程封装快速封装成动态库呢?
1、修改配置文件
#TEMPLATE = app
TEMPLATE = lib
DEFINES += RECDATA_LIBRARY

2、新建一个头文件recdata_global.h,并添加如下代码
#include <QtCore/qglobal.h>
#if defined(RECDATA_LIBRARY)
# define RECDATASHARED_EXPORT Q_DECL_EXPORT
#else
# define RECDATASHARED_EXPORT Q_DECL_IMPORT
#endif

3、引入头文件,修改导出类定义
#include "recdata_global.h"
class RECDATASHARED_EXPORT RecData : public QWidget

#include "recdata_global.h"
class RECDATASHARED_EXPORT showData : public QWidget

4、重新构建、运行
5、若是 MinGW32 编译器,在编译之后会在文件夹下找到 ***.dll 和 ***.a 文件;若是 MSVC 编译器,则应该是 ***.dll和 ***.lib 。

6、调用
在使用该库的程序中,新建一个 include 文件夹 和 一个lib 文件夹,将 导出类的头文件 复制进include文件夹中,将编译生成的***.lib文件复制到lib文件夹中,然后在程序中引入该头文件即可。
INCLUDEPATH += $$PWD/include
LIBS += -L$$PWD/lib -lRecData
在编译之后,将不同模式编译下的dll文件放入程序编译后的文件夹中,才能正常运行程序。
边栏推荐
- Research on power flow in DC microgrid based on Newton's method (Matlab code implementation)
- 扫雷?拿来吧你(递归展开+坐标标记)
- Taurus.MVC WebAPI 入门开发教程1:框架下载环境配置与运行(含系列目录)。
- JS手写call apply bind (详细)(面试)
- 2021年12月电子学会图形化一级编程题解析含答案:下雨
- ruoyi若依框架@DataScope注解使用以及碰到的一些问题
- Ruoyi Ruoyi framework @DataScope annotation use and some problems encountered
- JS basics--judgment
- 字典表(还需要输入2个字)
- Deep Learning - Install CUDA and CUDNN to implement GPU operation of tensorflow
猜你喜欢

新一代网状网协议T-Mesh无线通信技术优势介绍

如何将二维空间先验注入到ViT中? UMA&港理工&阿里提出SP-ViT,为视觉Transformer学习2D空间先验知识!...

2021年12月电子学会图形化一级编程题解析含答案:下雨

2021年12月电子学会图形化二级编程题解析含答案:绘制多边形

技术干货|如何将 Pulsar 数据快速且无缝接入 Apache Doris

2021年12月电子学会图形化四级编程题解析含答案:聪明的小猫

【Unity入门计划】基本概念(7)-Input Manager&Input类

深入浅出Flask PIN

MATLAB gcf figure save image with black background/transparent background

红蓝对抗经验分享:CS免杀姿势
随机推荐
用友YonSuite与旺店通数据集成对接-技术篇2
出海季,互联网出海锦囊之本地化
NodeJs - cross domain
MATLAB gcf figure save image with black background/transparent background
49 万奖金等你来拿!第四届实时计算 Flink 挑战赛启动,Beyond Stream Processing!
MySQL中的基数是啥?
土耳其国防部:联合协调中心将对首艘乌克兰粮船进行安全检查
产品以及研发团队有使用专业的办公软件,如禅道、蓝湖等,他们应该如何使用 Tita 系统?
Awesome!Coroutines are finally here!Thread is about to be in the past
扫雷?拿来吧你(递归展开+坐标标记)
劲爆!协程终于来了!线程即将是过去式
Reptile attention
身为售后工程师的我还是觉得软件测试香,转行成功定薪11.5K,特来分享下经验。
高可用版 主数据库数据结构改变 备数据库会自动改变吗
C#.NET 国密数字信封
无内鬼,来点干货!SQL优化和诊断
JD6606SP5_JD6606SSP_JD6606SASP_JD6621W7百盛新纪元授权代理商
【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01
随笔-UGUI中LayoutGroup来自适应长度图片长度
【899. 有序队列】