QT应用编程: Window系统下QT5创建DLL动态库并完成调用

简介: QT应用编程: Window系统下QT5创建DLL动态库并完成调用

一、环境介绍

操作系统:  win10  64位


QT版本:  QT5.12.6


编译器:  MinGW 32位


二、创建动态库

2.1 创建库的方式1

QtCreate创建工程的向导里有创建库的工程选项,按照向导创建工程之后,写好代码,点击QtCreate左下角的 “小锤锤”,构建完成,就可以在构建的目录下生成库文件。

image.png

image.png

2.2 创建库的方式2

一般情况下,工程可能之前已经创建好了,并且功能都已经完,现在想生成库文件给被别人调用。 这时,只需要修改xxx.pro工程文件即可。

在原来的工程文件里加上下面两行代码。

TEMPLATE = lib
DEFINES += DLL_CREATETEST_LIBRARY

image.png

修改之后,构建工程即可。

image.png

image.png

三、调用动态库

3.1 创建一个新的工程,调用dll库

image.png

image.png

image.png

image.png

image.png

3.2 拷贝库文件和头文件

(1).  将生成库的时(原工程)用到的头文件全部拷贝到新工程(调用库的测试工程)的目录下。

image.png

(2).  将原工程生成的dll动态库拷贝到新工程(调用库的测试工程)的目录下。

image.png

(3)   修改xxx.pro工程文件

 加上代码:

LIBS += $$PWD/DrawTimeLine.dll

(4).  修改主函数代码,调用测试函数

#include <QApplication>
#include "widget.h"
#include "drawtimeline.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

image.png

3.3 完成调用测试

image.png

构建完成之后,还需要将用到的动态库文件,拷贝一份到刚才构建的目录下。不然运行时找不到库文件。

image.png

image.png


目录
相关文章
|
4月前
|
网络协议 容器
【qt】 TCP编程小项目
【qt】 TCP编程小项目
90 0
|
2月前
|
存储 Windows
(13) Qt事件系统(two)
文章详细介绍了Qt事件系统,包括事件分发、自定义事件、事件传播机制、事件过滤以及事件与信号的区别。
113 3
(13) Qt事件系统(two)
|
2月前
|
编解码 程序员
(12)Qt事件系统(one)
本文详细介绍了Qt事件系统,包括各种系统事件、鼠标事件、键盘事件、定时器等的处理方法和示例代码。
100 0
|
4月前
|
存储 C++
【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】
【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】
112 1
【C++】C++ 基于QT实现散列表学生管理系统(源码+数据+课程论文)【独一无二】
|
4月前
|
API
Qt绘图之Paint系统
Qt绘图之Paint系统
70 2
|
4月前
|
开发者
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
【Qt 学习笔记】Qt系统相关 | Qt事件 | 事件的介绍及基本概念
239 4
|
4月前
QT6使用CMamke将qml打包成dll
QT6使用CMamke将qml打包成dll
98 0
|
4月前
从源码角度分析Qt元对象系统2
从源码角度分析Qt元对象系统
61 0
|
4月前
|
存储
从源码角度分析Qt元对象系统1
从源码角度分析Qt元对象系统
89 0
|
4月前
|
API 开发工具 C语言
C语言与图形界面:利用GTK+、Qt等库创建GUI应用。
C语言与图形界面:利用GTK+、Qt等库创建GUI应用。
248 0