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