【Qt】Qt如何导出DLL并使用

Qt如何导出DLL并使用[转]

1、建立DLL文件
1.1 打开Qt,按照下图的操作完成DLL文件创建向导。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 在myclockdll.h文件中添加如下代码

#ifndef MYCLOCKDLL_H
#define MYCLOCKDLL_H

#include "myclockdll_global.h"

class MYCLOCKDLLSHARED_EXPORT MyClockDLL
{

public:
    MyClockDLL();
    MyClockDLL(int a,int b);
    int Add();

private:
    int a;
    int b;

};

#endif // MYCLOCKDLL_H

1.3 在myclockdll.cpp中添加如下代码,然后点击小锤子构建项目(注意:根据调用程序的类型不同选择不同类型的编译器:32bit/64bit。我选择的是32bit编译器,

#include "myclockdll.h"


MyClockDLL::MyClockDLL()
{
}

MyClockDLL::MyClockDLL(int a, int b)
{
    this->a=a;
    this->b=b;
}

int MyClockDLL::Add()
{
    return this->a+this->b;
}

1.4 在如图所示的文件夹类生成了我们需要的MyClockDLL.dll(动态链接库,程序运行的时候使用,所以放在使用程序的Debug文件夹内)和MyClockDLL.lib(静态链接库,程序编译时候使用,所以放在程序源码的文件夹内)
在这里插入图片描述

1.5 下图是创建的DLL源码文件夹,在使用动态链接库时需要使用到下面的myclockdll.h和myclockdll_global.h两个头文件。
在这里插入图片描述

2、测试DLL文件
2.1 创建一个新项目,将1.5中的myclockdll.h和myclockdll_global.h两个头文件添加到项目同时复制到新项目(DLLTest)的源码文件夹。
在这里插入图片描述

2.2 构建DLLTest项目,将1.4中的MyClockDLL.dll文件复制到DLLTest项目的Debug文件夹内。
在这里插入图片描述

2.3 将1.4中MyClockDLL.lib文件复制到DLLTest项目的源码文件夹内。
在这里插入图片描述

在DLLTest.pro内添加如下代码,然后执行qmake.

LIBS+=C:\Users\60056539\Documents\DLLTest\MyClockDLL.lib
// 补充,这里可以使用相对路径 ./debug/dll.lib

在这里插入图片描述

2.4 在main.cpp中添加如下代码。

#include <QCoreApplication>
#include"myclockdll.h"
#include"myclockdll_global.h"
#include<iostream>
using namespace std;

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    
    MyClockDLL testDll(2,4);
    cout<<testDll.Add();

    return a.exec();
}

2.5 运行得到结果如下。
在这里插入图片描述

————————————————
版权声明:本文为CSDN博主「qq_20792765」的原创文章
原文链接:https://blog.csdn.net/qq_20792765/article/details/109774351

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值