1 新建库->C++库
2 命名(此处为mydll)并选择共享库--下一步--下一步
3 选择所需要的模块(有使用到的都选上)此处勾选前三项QtCore+QtGui+QtWidgets
4 完成创建
5 添加界面文件---新建-文件和类-Qt设计师界面
6 选界面模板Widget(根据需要)
7 设定保存文件名(此处同项目名为mydll)
8 进入可视化界面设计,修改objectName为mydll(此处必须设定成与项目类同名,否则会报错)
9 修改mylib.h
原内容
#ifndef MYDLL_H
#define MYDLL_H
#include "mydll_global.h"
class MYDLLSHARED_EXPORT Mydll
{
public:
Mydll();
};
#endif // MYDLL_H
改为
#ifndef MYDLL_H
#define MYDLL_H
#include "mydll_global.h"
#include <QWidget>
namespace Ui {
class mydll;
}
class MYDLLSHARED_EXPORT Mydll:public QWidget
{
public:
Mydll(QWidget *parent = 0);
private:
Ui::mydll *ui;
};
#endif // MYDLL_H
10 修改mydll.cpp
原内容
#include "mydll.h"
Mydll::Mydll()
{
}
改为
#include "mydll.h"
#include "ui_mydll.h"
Mydll::Mydll(QWidget *parent):
QWidget(parent),
ui(new Ui::mydll)
{
ui->setupUi(this);
}
11构建即可生成dll(注意使用静态编译的Qt只生成.a没有生成dll)
12 使用dll和使用其它dll一样
INCLUDEPATH += D:Qtmydllmydll
LIBS += D:Qtmydlluild-mydll-Desktop_Qt_5_3_MinGW_32bit-Release eleasemydll.dll
.h
#include "mydll.h"
private:
mydll w;
.cpp
w.show();
即可
注意:需要头文件mydll.h同时也要把mydll_global.h放在同文件夹内(如在mydll内将二者合并无法创建dll)
http://blog.csdn.net/yh_1988/article/details/71933369