最近在学习Qt调用C++模块的方法,本文在结合几篇文章的基础上,完成了Qt调用C++动态链接库(Dll)的方法,亲测有效:
声明:
事先我已经用C++写了一个简单的dll文件(myCurve.dll)。首先,从dll中导出了导入库(.lib)文件,dll中有一个接口函数,原型如下:
int StartCurveTool(void);//启动曲线工具
下面分别通过显示调用和隐式调用两种方法,来模拟Qt如何调用外部dll文件中的功能函数。
新建QT工程:
新建一个默认的Widgets工程,如下图所示
点击“Choose”按钮后在弹出的界面中输入工程名,然后“下一步”、“下一步”……直到“完成”即可。
添加槽信号:
双击工程下“界面文件”中的.ui文件,添加一个Push Button控件,改名为“曲线”,右击该button,选择“转到槽”,在下面的界面中选择clicked()信号,点击OK,添加并跳转到槽函数on_pushButton_clicked()。
调用DLL:
1、显示调用
Qt提供了一个 QLibrary 类供显示调用。下面给出一个完整的例子:
include “mainwindow.h”
include “ui_mainwindow.h”
include //QLibrary 显示不全,进行注释
include //QDebug
include //QMessageBox
include “CurveToolExport.h”
typedef i