当前位置:网站首页>【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文件放入程序编译后的文件夹中,才能正常运行程序。
边栏推荐
- Reptile attention
- 2021年12月电子学会图形化四级编程题解析含答案:森林运动会
- How Navicat connects to MySQL on a remote server
- After the cnpm installation is successful, the prompt is not an internal and external command, nor is it a runnable command solution
- Daily practice------There are 10 numbers that are required to be output from large to small by selection method
- MySQL中的基数是啥?
- ReentrantLock详解
- 深入浅出Flask PIN
- 分享一款免费OPC UA服务器
- 5v充8.4v1A电流充电管理ic
猜你喜欢
随机推荐
2021年12月电子学会图形化四级编程题解析含答案:质数判断器
[Code Hoof Set Novice Village 600 Questions] Define a function as a macro
ruoyi若依框架@DataScope注解使用以及碰到的一些问题
leetcode:899. 有序队列【思维题】
6000 字+,帮你搞懂互联网架构演变历程!
Optimal Power Flow (OPF) for High Voltage Direct Current (HVDC) (Matlab code implementation)
并发编程的核心问题
美国国防部更“青睐”光量子系统研究路线
如何用二分法搜索、查找旋转数组中是否含有某个(目标)值? leetcode 81.搜索旋转排序数组
不安装运行时运行.NET程序
With a single operation, I improved the SQL execution efficiency by 10,000,000 times!
JS basics--judgment
自定SvgIcon公用组件
ReentrantReadWriteLock详解
字典表(还需要输入2个字)
【Unity入门计划】基本概念(8)-瓦片地图 TileMap 01
【Unity入门计划】基本概念(7)-Input Manager&Input类
8月份加密市场的三个关键预期 价格虽向北移动?预计仍将处于动荡之中
Deep Learning - Install CUDA and CUDNN to implement GPU operation of tensorflow
16 【过渡 动画】







