QT生成动态链接库Dll及调用示例

QT生成动态链接库DLL

首先,新建一个项目用于生成DLL文件
在新建项目时选择Library->C++ 库
在这里插入图片描述
在这里插入图片描述
根据项目需要选择:
在这里插入图片描述
在这里插入图片描述
然后一直点下一步直到完成即可。
项目会自动包含以下几个文件:
在这里插入图片描述
然后在头文件中定义想要封装的函数即可:
以加法函数为例:

#ifndef MODES_DLL_H
#define MODES_DLL_H

#include "modes_dll_global.h"
class MODES_DLLSHARED_EXPORT ModeS_Dll
{

public:
    ModeS_Dll();
    int Add(int num1,int num2);
};

#endif // MODES_DLL_H

在源文件中实现函数功能,快捷键Alt+Enter;

int ModeS_Dll::Add(int num1, int num2)
{
    return num1+num2;
}

然后点击构建项目即可生成dll。
在这里插入图片描述

DLL的调用

新建一个TestDLL工程,选择控制台或者Widget都可以,此处新建一个空Widget项目,如下:
在这里插入图片描述新建完成后需要将上述工程生成的DLL文件以及头文件,放到该工程的目录下,此处新建了一个文件夹includef:
在这里插入图片描述
在项目的.pro文件中添加对该DLL的调用,以及包含DLL头文件的路径:


#$$PWD表示pro文件所在的路径。
INCLUDEPATH += $$PWD/includef

LIBS += $$PWD/includef/ModeS_Dll.dll

在窗体的代码中调用DLL中封装的函数,如下所示:

#include "mainwidget.h"
#include "ui_mainwidget.h"
#include "modes_dll.h"
#include <QtDebug>

MainWidget::MainWidget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MainWidget)
{
    ui->setupUi(this);
    ModeS_Dll mdll;
    qDebug()<<"1+2="<<mdll.Add(1,2);

}

这样可以编译成功且不报错,但是点击运行会提示错误。
要想成功运行,还需要将DLL文件以及头文件放到该项目生成的exe路径下。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值