一、環境介紹
作業系統: win10 64位
QT版本: QT5.12.6
編譯器: MinGW 32位
二、建立動态庫
2.1 建立庫的方式1
QtCreate建立工程的向導裡有建立庫的工程選項,按照向導建立工程之後,寫好代碼,點選QtCreate左下角的 “小錘錘”,建構完成,就可以在建構的目錄下生成庫檔案。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iY3UmNhhTYycTZ3YmM5UGO1IjZ0ITNlRGZygTYkRjYm9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
2.2 建立庫的方式2
一般情況下,工程可能之前已經建立好了,并且功能都已經完,現在想生成庫檔案給被别人調用。 這時,隻需要修改xxx.pro工程檔案即可。
在原來的工程檔案裡加上下面兩行代碼。
TEMPLATE = lib
DEFINES += DLL_CREATETEST_LIBRARY
修改之後,建構工程即可。
三、調用動态庫
3.1 建立一個新的工程,調用dll庫
3.2 拷貝庫檔案和頭檔案
(1). 将生成庫的時(原工程)用到的頭檔案全部拷貝到新工程(調用庫的測試工程)的目錄下。
(2). 将原工程生成的dll動态庫拷貝到新工程(調用庫的測試工程)的目錄下。
(3) 修改xxx.pro工程檔案
加上代碼:
LIBS += $$PWD/DrawTimeLine.dll
(4). 修改主函數代碼,調用測試函數
#include <QApplication>
#include "widget.h"
#include "drawtimeline.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
3.3 完成調用測試
建構完成之後,還需要将用到的動态庫檔案,拷貝一份到剛才建構的目錄下。不然運作時找不到庫檔案。