qt动态链接库建立需要包含哪些模块

 我来答
己学好4
2016-12-27 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:5159万
展开全部
先新建一个库项目

选择chose进入下一下页面,类型选择共享库,输入一个名称:我输入的是sld

再点击下一步到

如果这里我们需要QtGui所以也勾选上了
再点击下一步直到完成
我们在.pro文件里加上
DESTDIR =..\MyDebug
它的意思是我们把生成的内容放到这个文件夹里,如果没有它会自动生成
点击项目把Shadow build 去掉勾选

设置完成后我们来实现方法测试
把sld.h修改成这样

#ifndef SLD_H
#define SLD_H

#include "sld_global.h"
#include <QString>

class SLDSHARED_EXPORT Sld
{
public :
Sld();
QString GetStr();
};

#endif

它的.cpp

#include "sld.h"
#include <QDebug>

Sld::Sld()
{
qDebug()<<"";
}

QString Sld::GetStr()
{
return "aa";
}

我们那了一个测试方法返回aa
我们再新添加一个窗体供测试用

我给命名为MyDialog
把.h文件修改成

#ifndef MYDIALOG_H
#define MYDIALOG_H

#include <QDialog>
#include "sld_global.h"
namespace Ui {
class MyDialog;
}

class SLDSHARED_EXPORT MyDialog : public QDialog
{
Q_OBJECT

public:
explicit MyDialog(QWidget *parent = 0);
~MyDialog();

private:
Ui::MyDialog *ui;
};

#endif // MYDIALOG_H

,cpp

#include "mydialog.h"
#include "ui_mydialog.h"

MyDialog::MyDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::MyDialog)
{
ui->setupUi(this);
}

MyDialog::~MyDialog()
{
delete ui;
}

这里什么也没做只是把SLDSHARED_EXPORT加上了
好了就这样,我们构建一下就会在MyDebug文件夹里生成我们的dll
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式