在QT中调用动态链接库DLL的导出函数
在QT中调用DLL的导出函数有4钟方法:
第一种:使用Win32API函数
第二种:使用Qt自带的API函数
第三种:直接调用DLL
第四种:可视化操作(点点鼠标即可)
实验准备:DLL项目文件,本次教程准备了Test项目(_declspec(dllexport)导出)
,里面包含了我们后面需要导出的f()
函数,用的VS2022生成,具体怎么生成可以参考我之前的博客利用VS2022生成动态链接库的两种方法
为了更容易上手,这里就先介绍第三、第四种,最简单也是最容易理解的方式
第四种:可视化操作(点点鼠标即可)
(1)在Qt Creater创建一个项目UseDll2,至于是对话框还是窗口项目都无所谓,我这里现在选择的是基于widget项目,带ui,主要是通过一个按钮来实现动态库函数的调用。项目创建成功后,准备好下面的文件,并在ui放置一个按钮。widget.cpp中记得要包含test.h文件。各个文件里面的内容在图中给出,比较简单就不赘述。
(2)右键点击项目,选择添加库
选择外部库
然后把 库文件 和 库 所在的路径添加上去(就是我们Test项目生成的dll文件路径,按照自己的来就行),此外,具体哪些该勾不该勾的,可以参考下图
点击下一步之后,你的QT项目的.pro文件中就会自动加入以下语句,点击完成就行
接下来直接运行项目,点击按钮,就会调用DLL中的导出函数f()
第三种:直接调用DLL
第三种调用方法和第四种本质上是一样的,只是添加在QT项目的.pro文件中的语句是自己手动填写。具体的格式如下: