1. 程式人生 > >Qt·程式碼封裝成dll檔案及所生成dll檔案的使用

Qt·程式碼封裝成dll檔案及所生成dll檔案的使用

開發環境:Qt5.8.0+Qt Creator

一、程式碼封裝成dll檔案

  • 步驟一:建立工程


    這裡寫圖片描述
    圖1:建立生成dll的工程


    這裡寫圖片描述
    圖2


    這裡寫圖片描述
    圖3

    這裡寫圖片描述
    圖4: 此處需要勾選QtCore,因為後面需要使用該庫內QtCore/qglobal.h檔案中的 Q_DECL_EXPORT

    這裡寫圖片描述
    圖5

    這裡寫圖片描述
    圖6

    這裡寫圖片描述
    圖7:建立生成的工程目錄

點選執行按鈕測試是否可以成功執行,如果出現下圖提示則說明執行成功。如果當前執行模式是debug,則在對應的debug目錄下會看到生成庫檔案;如果執行模式是release,則在對應的release目錄下會看到生成的庫檔案:


這裡寫圖片描述
圖8:


這裡寫圖片描述
圖9:生成的庫檔案

注意: debugrelease 兩種模式下生產的檔案是在各自生成目錄下的,即兩種執行模式下生成的檔案分別會在如圖10中的不同位置: ***debug/debug/***release/release/debug 模式下就去如圖10中的***debug資料夾下的debug資料夾下找生成的庫檔案,release 模式下就去如圖10中 ***release 資料夾下的 release 資料夾下找生成的庫檔案:


這裡寫圖片描述
圖10
  • 步驟二:工程內新增內容
    1.在建立的makedll.h檔案中新增函式宣告int sum(int x, int y);



    這裡寫圖片描述
    圖11

    2.在建立的.cpp檔案中新增函式實現:


    這裡寫圖片描述
    圖12
  • 步驟三
    點選執行按鈕,就會生成封裝好的dll檔案,在對應的debug或者release目錄下可以看到生成好的檔案。

二、dll檔案使用

  • 步驟一:建立測試工程
    建立測試dll庫檔案的工程


    這裡寫圖片描述
    圖13
  • 步驟二:修改.pro檔案

    1.在.pro檔案中新增:QT += core ,並註釋掉 CONFIG -= qt
    2.在.pro檔案中引用封裝生成的.dll動態連結庫LIBS += ***\MakeDll.dll,其中*** 表示上面封裝生成的.dll檔案儲存的路徑


    這裡寫圖片描述

    圖14
  • 步驟三:拷貝.h檔案
    把生成dll檔案工程中的所有.h檔案拷貝到當前工程目錄下,筆者需要拷貝的即是:makedll.hmakedll_global.h 兩個.h檔案,如下圖所示:


    這裡寫圖片描述
    圖15
  • 步驟四:修改測試工程的main.cpp檔案呼叫dll庫


    這裡寫圖片描述
    圖16
  • 步驟五:拷貝封裝生成.dll庫檔案
    現在點選執行按鈕,執行程式,可能會出現如下錯誤提示,該提示說明動態連結生成的.dll庫檔案失敗:


    這裡寫圖片描述
    圖17

    解決方法:把生成的.dll檔案拷貝到測試工程生成的.exe同級目錄下,如下圖所示:


    這裡寫圖片描述
    圖18
  • 步驟六:執行測試程式
    現在再次點選執行按鈕進行測試,則執行成功:


    這裡寫圖片描述
    圖19

Finished