**
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
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 运行得到结果如下。