QT 呼叫動態庫介面方法

2021-08-11 02:07:20 字數 1146 閱讀 2852

我們在做大型專案的時候,經常會遇到好多重複或常用的部分,如果每次都重新編寫固然是可以的,不過那樣會大大降低工作效率,並且影響**的可讀性,更不利於後期的**維護。我們可以把他們製作成相應的功能函式,比如動態庫,這樣還可以對專案進行分工,加快專案的進度。下面就是qt 呼叫動態庫介面的方法。

首先編譯乙個簡單的動態庫介面檔案test.dll

新建乙個普通的qt專案,**如下:

#include "testdll.h"

#include

#include

qstring dll_name = "test.dll"; //庫檔名

qstring dll_path = "./bin/"; //庫檔案路徑

typedef

int (*jk_test_a)();//根據動態庫介面函式返回值型別定義乙個型別

typedef

int (*jk_test_b)();//該dll介面的返回值全為int

typedef

int (*jk_test_c)();

typedef

int (*jk_test_d)();

jk_test_a test_a; //根據型別定義自己呼叫的函式名

jk_test_b test_b;

jk_test_c test_c;

jk_test_d test_d;

testdll::testdll(qwidget *parent) :

qwidget(parent),

ui(new ui::testdll)

testdll::~testdll()

bool testdll::loadlibrary()

介面函式

結果

完美呼叫

注:test.dll 放在在exe目錄下的 bin目錄下

test.dll 是 vc++ 編譯的,具體編譯方法請看下一條

QT 呼叫動態庫介面方法

首先編譯乙個簡單的動態庫介面檔案test.dll 新建乙個普通的qt專案,如下 include testdll.h include include qstring dll name test.dll 庫檔名 qstring dll path bin 庫檔案路徑 typedef int jk test...

qt呼叫動態庫(已驗證,方法可行)

之前一直不明白如何在qt程式中,呼叫動態庫,後來看了網上的一些文章,自己試驗了一下,總結出了可行的辦法。乙個動態庫會有三種檔案組成,標頭檔案 h lib檔案 dll檔案。其中lib檔案表明了動態庫的入口,並沒有實際的內容,實際的內容在dll檔案中。標頭檔案和lib檔案只有在編譯的時候需要用到,發布程...

Qt 呼叫外部C動態庫

先寫乙個測試程式 test.h include test test.c include test printf hello,1234 做成動態庫,gcc o fpic shared o libtest.so test.h test.c 將libtest.so和test.h拷貝到qt的工程目錄,在pr...