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函数:

点击运行,调用成功。

相关推荐
誰能久伴不乏15 小时前
桌面客户端的运行日志系统:SQLite 分块 + 独立写线程 + 文本降级
数据库·c++·qt·架构·sqlite
2601_9669496519 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
晨曦中的暮雨21 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
喵了几个咪1 天前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
程序员清风1 天前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
2601_962885721 天前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
Wang's Blog1 天前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里1 天前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑1 天前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl1 天前
Yup 跨端三方库仓颉适配全流程
java·开发语言