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文件会自动生成:

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

相关推荐
曦夜日长7 分钟前
C++ STL容器string(一):string的变量细节、默认函数的认识以及常用接口的使用
java·开发语言·c++
代码中介商9 分钟前
C++ STL 标准模板库完全指南:从容器到迭代器
开发语言·c++·stl
winner888112 分钟前
C++ 构造函数、析构函数、虚函数、虚析构
开发语言·c++
北山有鸟14 分钟前
IS_ERR 判断出错后,再用 PTR_ERR 把它强制转换回 int 型的错误码作为函数的返回值。
java·开发语言
格林威18 分钟前
工业视觉检测:提供可视化UI调试工具的实现方式是什么?
开发语言·人工智能·数码相机·ui·计算机视觉·视觉检测·工业相机
phltxy20 分钟前
深度解析:Spring Cloud Gateway 从入门到实战
java·开发语言
AI进化营-智能译站29 分钟前
ROS2 C++开发系列08-传感器数据缓存与指令解析方式之数组、向量与字符串实战
开发语言·c++·缓存·ai
shjita35 分钟前
记录java执行中的一个错误细节
java·开发语言
AI进化营-智能译站41 分钟前
ROS2 C++开发系列14-Lambda表达式处理传感器数据流|文件IO保存机器人实验日志
开发语言·c++·ai·机器人
itzixiao1 小时前
L1-067 洛希极限(10分)[java][python]
java·开发语言·算法