首先定义头文件

#ifndef HELLOQTDLL_H
#define HELLOQTDLL_H

//下面这段代码不能少,MY_EXPORT可以更改


#ifdef Q_WS_WIN
#define MY_EXPORT __declspec(dllexport)
#else
#define MY_EXPORT
#endif

#include <QtGui/QMainWindow>

class HelloQtDll : public QMainWindow
{
    Q_OBJECT

public:
    HelloQtDll(QWidget *parent = 0);
    ~HelloQtDll();

};

// 如果是C++编译的函数, 要使用extern "C"来包装成C函数(导出函数, 给外部提供服务).

#endif // HELLOQTDLL_H
 

源文件

#include "helloqtdll.h"
#include <QMessageBox>
HelloQtDll::HelloQtDll(QWidget *parent)
    : QMainWindow(parent)
{
    QMessageBox::information(this,tr("Qt Dll test"),tr("Constructor!"));
}

HelloQtDll::~HelloQtDll()
{

}

extern "C" MY_EXPORT int add(int a, int b)//定义外部调用的接口 add

{
     return (a + b) / ;//方法内部可以调用其它函数
}