新建動態庫項目->選擇C++庫
類型選擇共享庫直接下一步.
選擇編譯器
選擇所需用到的模塊
動態庫至此新建完成.
頭文件
源文件
寫完直接編譯,如彈出以下窗口表示動態庫制作完成
調用自己成的動態庫
1.新建一個widgets程序
2.pro文件導入自己生成的動態庫
INCLUDEPATH += $$PWD/3/include //導入頭文件路徑
win32:LIBS += -L$$PWD/3/lib/ -lDllTest //導入lib文件路徑
頭文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "dlltest.h"
#include "dlltest_global.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
DllTest *m_test;
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
源文件
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
m_test = new DllTest;
m_test->test();
}
MainWindow::~MainWindow()
{
delete ui;
delete m_test;
}
void MainWindow::on_pushButton_clicked()
{
usetest();
}
3.控件上新建一個按鈕.調用導出的c函數接口
轉到槽如下:
void MainWindow::on_pushButton_clicked()
{
usetest();
}
生成項目,成功如下:
09:54:47: Starting H:\Cheung\WorkFile\study_demo\build-UserDll-Desktop_Qt_5_12_0_MSVC2017_32bit-Debug\debug\UserDll.exe...
09:54:47: 程序異常結束。
09:54:47: The process was ended forcefully.
09:54:47: H:/Cheung/WorkFile/study_demo/build-UserDll-Desktop_Qt_5_12_0_MSVC2017_32bit-Debug/debug/UserDll.exe crashed.
接着去編譯好的exe文件夾導入所需依賴庫以及自己新建的動態庫
重新運行. 界面如下 可以發現下面已經輸出了我們在動態庫里面打印的文字.(因為是在構造函數里面new出對象並調用測試方法,所以運行就直接輸出了)
接着點擊我們新建的按鈕,
至此全部完成.,過程已經巨細無比,就算是小白也能輕松掌握吧...