qt5将程序打包并使用

一、封装程序

(1)、点击创建项目->库->c++library

(2)、填写自己想要封装成库的名称,这里我填写的名称为mydll1

(3)、如果没有特殊的要求,则一路下一步,最终会出现如下文件列表。

(4)、删除mydll1_global.h文件,编写mydll1.h文件内容如下:

其中class Q_DECL_EXPORT Mydll为需要封装的类名,可以在类中编写相关函数,在上述例子中,我们编写了一个add函数。

cpp 复制代码
extern "C"
{
    Q_DECL_EXPORT int add(int a, int b);
}

上述代码含义为,该函数可以被C语言或其他语言调用,同时这个函数是导出(export)的,意味着它可以从动态链接库(DLL)中被外部程序访问。

(5)、编写函数的实现,在对应的.cpp中

编写完成后选择release模式,点击编译(小锤子):

此时会在创建项目的文件夹中的"Mydll1\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release"找到"mydll1.dll"和"mydll.lib"。此时代码封装完成。

二、调用封装好的程序

(1)、创建一个名为test的新项目将之前打包程序中的"mydll1.h"的头文件粘贴到该项目下:
(2)、release模式,点击编译(小锤子)

(3)、此时会在项目的根目录下会出现如下路径:test\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release

将封装好的mydll1.dll、mydll1.lib粘贴到如上位置。并将mydll1.lib的路径添加到test.pro中。

LIBS+=PATH\test\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release\mydll1.lib。

(4)、在test的主函数中引用mydll1.h的头文件。并调用add函数:

点击运行,调用成功。

相关推荐
在下不上天21 分钟前
Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复
大数据·开发语言·python
陌小呆^O^34 分钟前
Cmakelist.txt之win-c-udp-client
c语言·开发语言·udp
I_Am_Me_1 小时前
【JavaEE进阶】 JavaScript
开发语言·javascript·ecmascript
重生之我是数学王子1 小时前
QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现
开发语言·c++·qt
Ai 编码助手1 小时前
使用php和Xunsearch提升音乐网站的歌曲搜索效果
开发语言·php
学习前端的小z1 小时前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript
神仙别闹1 小时前
基于C#和Sql Server 2008实现的(WinForm)订单生成系统
开发语言·c#
XINGTECODE1 小时前
海盗王集成网关和商城服务端功能golang版
开发语言·后端·golang
zwjapple2 小时前
typescript里面正则的使用
开发语言·javascript·正则表达式
小五Five2 小时前
TypeScript项目中Axios的封装
开发语言·前端·javascript