Qt之動態鏈接庫

Qt程序加載動態鏈接庫

    加載動態鏈接庫(windows下的.dll文件)的方式:

  • 1、靜態加載動態鏈接庫
  • 2、動態加載靜態鏈接庫
  • 3、非完整動態鏈接庫

1 靜態加載動態鏈接庫

  • 1)包括完整的頭文件描述
  • 2)在.pro文件添加配置語句
  • 3)動態鏈接庫的功能函數應爲extern C標準格式。
    這裏的第三條可以忽略。

1.1 配置.pro文件

1.1.1 在linux平臺

LIBS += -L/usr/local/lib \
        -lmath

無論大寫的L,還是小寫的l後面都沒有空格。這裏的第一行是添加目錄下所有的庫文件。第二行是添加一個文件且添加的文件不帶擴展名!

1.1.2 在windows平臺

引入第三方動態鏈接庫

LIBS += math.dll

引入系統動態鏈接庫

LIBS += -lshell32 \
        -lsetupapi

2 動態加載動態鏈接庫

  • 1)庫文件需要拷貝到與.exe同目錄下(調試狀態下放到調試目錄下)
  • 2)使用QLibrary模塊

2.1 QLibrary模塊

#include <QLibrary>

不需要頭文件,只用一個dll文件即可。

3 非完整動態鏈接庫

可用於調用閉源軟件的動態鏈接庫,需要使用一些反編譯的軟件做輔助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章