qt封装dll及调用

Qt封装DLL

环境:Qt 5.14.2+window11

1.代码迁移与lib项目建立

​ 首先无论代码结构多么复杂,程序入口始终在main中,当调用的代码为独立的函数即可开始迁移,例如代码结构如下,main函数中分别是写文件和读文件代码函数:

1.1 lib库建立

文件-->新建文件或项目:

名字随便起,不要中文!!

然后直接无脑下一步:我这里用的MinGW64编译

1.2 代码迁移

新建的文件,会生成.h/.cpp/_global.h文件,不要动这些文件,将原有项目代码迁移过来:

迁移步骤:将代码文件复制到项目路径下,右键项目-->添加现有文件,选中所有文件进行添加。

1.3 代码修改

迁移完成后,将要导出的函数名写在.h文件中:

将函数实现添加到.cpp中:一定要用类名::,不要写独立函数

修改完成进行debug即可,不用理会弹窗。

此时会在debug路径下生成.dll和.a文件


2. dll调用

任意创建一个新项目

创建完成后先debug一下,然后将dll和a文件分别复制到debug路径和项目下,因为要保证和.exe在同一路径下:

将.h文件也放进项目路径下并加入项目中(添加现有文件):

将dll和a文件复制到项目路径下后,还得通过qt添加到项目中:右键项目-->添加库...

选择外部库:

将.a文件导入,这里切记不要选择添加后缀:

添加完成后pro文件会自动生成:

最终,利用导入的头文件,去声明类对象进行调用即可:

相关推荐
朝朝辞暮i3 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
小师兄吃牛肉4 小时前
C语言篇:宏
c语言·开发语言
郑同学的笔记4 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
言乐65 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779135 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha5 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i5 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i5 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
笨笨饿5 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
YOLO数据集集合6 小时前
EvoAgent:面向PR研发治理的自进化Multi-Agent Harness系统
java·开发语言·目标检测·agent·自进化