当前位置:网站首页>【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文件放入程序编译后的文件夹中,才能正常运行程序。
边栏推荐
- 【码蹄集新手村600题】将一个函数定义宏
- How to use binary search and find whether the rotation in the array contains a (target) value?Rotate the sorted array leetcode 81. Search
- 您的移动端app安全吗
- 如何将二维空间先验注入到ViT中? UMA&港理工&阿里提出SP-ViT,为视觉Transformer学习2D空间先验知识!...
- JS handwritten call apply bind (detailed) (interview)
- 2021年12月电子学会图形化四级编程题解析含答案:聪明的小猫
- 2021年12月电子学会图形化四级编程题解析含答案:棕熊大战
- 实习路途:记录给我的第一个实习项目中的困惑
- 8月份加密市场的三个关键预期 价格虽向北移动?预计仍将处于动荡之中
- 用户侧有什么办法可以自检hologres单表占用内存具体是元数据、计算、缓存的使用情况?
猜你喜欢

With a single operation, I improved the SQL execution efficiency by 10,000,000 times!

参与便有奖,《新程序员》杂志福利来袭!

30W 2C(JD6606S + FP6652X2)BOM
How Navicat connects to MySQL on a remote server

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

方舟生存进化开服需要多少钱

2021年12月电子学会图形化四级编程题解析含答案:棕熊大战

一通骚操作,我把SQL执行效率提高了10000000倍!

AI也有健忘症?英国41岁教授专访:解决灾难性遗忘

js中的基础知识点 —— 事件
随机推荐
ruoyi若依框架@DataScope注解使用以及碰到的一些问题
AWS China SDN Connector
方舟生存进化开服需要多少钱
如何选择合适的损失函数,请看......
How to use binary search and find whether the rotation in the array contains a (target) value?Rotate the sorted array leetcode 81. Search
Flink作业调度详解
13、OOM模拟
随笔-Unity中一个简易的Spine动画控制器
JS手写call apply bind (详细)(面试)
posgresql 到 es 报这个错误 ,啥意思
5 v 8.4 v1A charging current charging management IC
Optimal Power Flow (OPF) for High Voltage Direct Current (HVDC) (Matlab code implementation)
GTK实现旋转加载动画
6000 字+,帮你搞懂互联网架构演变历程!
Yii2安装遇到Loading composer repositories with package information
2021年12月电子学会图形化一级编程题解析含答案:下雨
自定SvgIcon公用组件
请问大家,MySQL全量怎么样可以提高性能呢?我这里瓶颈是在Source上,在不增加并行度的情况下,
Phaser(二):小恐龙跑酷游戏
上亿数据怎么玩深度分页?兼容MySQL + ES + MongoDB