Qt 如何使用Qt建立庫並在應用程式中使用它

2021-10-16 17:09:31 字數 1823 閱讀 3925

本教程說明了在windows上的應用程式中使用自定義庫的不同方法。第一部分說明了如何建立共享庫以及如何在應用程式中鏈結共享庫。第二部分是關於建立和使用靜態庫。

建立要鏈結的共享庫時,需要確保在建立庫時正確匯出將在庫外部使用的符號。當您鏈結到庫時,隨後匯入。可以使用q_decl_export和q_decl_import來完成,如以下示例所示:

1、test.h

#include

#if defined make_test_lib

#define test_lib_export q_decl_export

#else

#define test_lib_export q_decl_import

#endif

class ​test_lib_export widget :

public qwidget

;

2、test.cpp

#include

"test.h"

#include

widget::

widget

(qwidget *parent)

:qwidget

(parent)

3、test.pro

template = lib

sources +

= test.cpp

headers +

= test.h

defines +

= make_test_lib

qt +

= widgets

.a和.so是導入庫。它們有助於將您的**鏈結到庫,並且在您構建檔案(不是一直都是檔案)時需要使用它們。

1、loadtestlib.pro

target =

dependpath +=.

../testlib

includepath +=.

./testlib

libs +

=-l.

./testlib/debug -ltestlib

#input

sources +

= main.cpp

2、main.cpp

#include

"test.h"

intmain

(int argc,

char

*ar**)

或者,您可以在qt creator中右鍵單擊您的專案,然後選擇「新增庫…」,選擇「外部庫」並瀏覽您的庫檔案:

對於在windows中使用mscv編譯器編譯的庫,請查詢.lib或.dll

在windows上,mingw編譯的鏈結庫位於.a中,但您需要手動新增(自qt creator 2.7起)。您也可以嘗試直接鏈結.dll,因為它可能會起作用。不要嘗試使用msvc編譯庫。

在linux上,您尋找.so檔案

這會將以下**附加到您的* .pro檔案中:

ps:

unix:libs +

=-l /usr/local/lib -lmath

win32:libs +

= c:/mylibs/math.lib

win32:libs +

=「 c:/ mylibs / extra libs / extra.lib」

unix:libs +

=「 -l / home / user / extra libs」 -lextra

如何建立Qt外掛程式

qt提供了兩個用於建立外掛程式的api 編寫擴充套件qt本身的外掛程式是通過對相應的外掛程式基類進行子類化,實現一些功能以及新增巨集來實現的。通過外掛程式不僅可以擴充套件qt本身,而且可以擴充套件qt應用程式。這要求應用程式使用qpluginloader檢測和載入外掛程式。在這種情況下,外掛程式可以...

Qt之建立並使用共享庫

在 windows 中,有動態鏈結庫 dll dynamic link library 在 linux 中,有共享庫 shared library 它們是相同的!由於平台和編譯器的差異,輸出的庫檔案也不同 要建立乙個共享庫,需要執行以下幾個步驟 檔案 新建檔案或專案,選擇 library c 庫 選...

安裝python3 5並在QT中配置使用

一 安裝32位的python3.5及各種庫 提取碼 zotf 先在dos環境下輸入python,如果顯示版本則表示python安裝成功,安裝庫檔案的時候,在dos環境下進入whl檔案所在的目錄,然後使用pip install whl。如果提示pip版本過低,則按照提示更新pip。二 在qt中配置py...