Qt5.6在vs2013中导出Dll

新建工程,选择Qt Class Library,此项可以导出类也可以导出函数:

Qt5.6在vs2013中导出Dll_第1张图片

新建之后,在新建一个test项目用来调用Dll:

Qt5.6在vs2013中导出Dll_第2张图片

在HelloDll的头文件中增加一个类成员函数和全局函数

HelloDll.h

#pragma once

#include "hellodll_global.h"

class HELLODLL_EXPORT HelloDll
{
public:
	HelloDll();
	void DllClass();
};

int HELLODLL_EXPORT DllFunc();
HelloDll.cpp

#include "HelloDll.h"
#include 

HelloDll::HelloDll()
{
}

void HelloDll::DllClass()
{
	QMessageBox::about(NULL, "Dll", "This is a class");
}

int DllFunc()
{
	QMessageBox::about(NULL, "Dll", "This is a function");
	return 0;
}

在test的界面中增加两个按钮,分别测试类成员函数和全局函数

Qt5.6在vs2013中导出Dll_第3张图片

测试项目头文件:

test.h

#pragma once

#include 
#include "ui_test.h"

class test : public QMainWindow
{
	Q_OBJECT

public:
	test(QWidget *parent = Q_NULLPTR);

private:
	Ui::testClass ui;

public slots:
	void testDllClass();
	void testDllFunc();
};
test.cpp

#include "test.h"
#include "../HelloDll/HelloDll.h"

test::test(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
}

void test::testDllClass()
{
	HelloDll DLL;
	DLL.DllClass();

}

void test::testDllFunc()
{

	DllFunc();
}
测试效果图

Qt5.6在vs2013中导出Dll_第4张图片

Qt5.6在vs2013中导出Dll_第5张图片














你可能感兴趣的:(Qt)