天天看點

QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

一、環境介紹

作業系統:  win10  64位

QT版本:  QT5.12.6

編譯器:  MinGW 32位

二、建立動态庫

2.1 建立庫的方式1

QtCreate建立工程的向導裡有建立庫的工程選項,按照向導建立工程之後,寫好代碼,點選QtCreate左下角的 “小錘錘”,建構完成,就可以在建構的目錄下生成庫檔案。

QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用
QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

2.2 建立庫的方式2

一般情況下,工程可能之前已經建立好了,并且功能都已經完,現在想生成庫檔案給被别人調用。 這時,隻需要修改xxx.pro工程檔案即可。

在原來的工程檔案裡加上下面兩行代碼。

TEMPLATE = lib
 
DEFINES += DLL_CREATETEST_LIBRARY      
QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

修改之後,建構工程即可。

QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用
QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

三、調用動态庫

 3.1 建立一個新的工程,調用dll庫

QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用
QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用
QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用
QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用
QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

3.2 拷貝庫檔案和頭檔案

(1).  将生成庫的時(原工程)用到的頭檔案全部拷貝到新工程(調用庫的測試工程)的目錄下。

QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

(2).  将原工程生成的dll動态庫拷貝到新工程(調用庫的測試工程)的目錄下。

QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

(3)   修改xxx.pro工程檔案

  加上代碼:

LIBS += $$PWD/DrawTimeLine.dll      

(4).  修改主函數代碼,調用測試函數

#include <QApplication>
#include "widget.h"
#include "drawtimeline.h"
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}      
QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

3.3 完成調用測試

QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

建構完成之後,還需要将用到的動态庫檔案,拷貝一份到剛才建構的目錄下。不然運作時找不到庫檔案。

QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用
QT應用程式設計: Window系統下QT5建立DLL動态庫并完成調用

繼續閱讀