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 非完整動態鏈接庫
可用於調用閉源軟件的動態鏈接庫,需要使用一些反編譯的軟件做輔助。