一、生成dll文件 1、創建一個C++庫項目。 新建->Library->C++庫,然後點擊"choose"; 位置->類型,選擇共用庫; 模塊的勾選看情況。 最後,工程中有3個文件。mylib.cpp、mylib.h、mylib_global.h。 2、添加內容,即庫文件要實現的功能。 例:1、創 ...
一、生成dll文件
1、創建一個C++庫項目。
新建->Library->C++庫,然後點擊"choose";
位置->類型,選擇共用庫;
模塊的勾選看情況。
最後,工程中有3個文件。mylib.cpp、mylib.h、mylib_global.h。
2、添加內容,即庫文件要實現的功能。
例:1、創建一個ui文件
2、修該mylib.cpp、mylib.h文件
1 #include "mylib_global.h" 2 #include <QDialog> 3 namespace Ui 4 { 5 class Mylib; 6 } 7 class MYLIBSHARED_EXPORT Mylib :public QDialog 8 { 9 public: 10 Mylib(QWidget *parent = 0); 11 private: 12 Ui::Mylib *ui; 13 };
1 #include "mylib.h" 2 #include "ui_mylib.h" 3 Mylib::Mylib(QWidget *parent): 4 QDialog(parent), 5 ui(new Ui::Mylib) 6 { 7 ui->setupUi(this); 8 }
3、構建工程,在生成的debug目錄中可以看到生成的3個,即.a、.o和.dll文件。
二、調用dll文件
1、修改準備調用dll'文件的工程的配置文件.pro
#讓本項目可以找到mylib.h和mylib_global.h這兩個文件
INCLUDEPATH += ../mylib
#這一行則需要告訴編譯器(註意,這裡是編譯器!)到哪裡去找到這個 dll 文件
#LIBS += ../build-mylib-Desktop_Qt_5_9_3_MinGW_32bit-Debug/debug/mylib.dll
2、將之前的dll文件放到本工程的源碼目錄下並加上頭文件#include "mylib.h",即可調用連接庫。
3、構建工程,將之前的dll文件放到生成的exe的同級目錄下,然後程式即可運行。
附:1、在構建第一個工程的時候,可以在彈出的一個對話框中修改dll等文件的生成目錄;我們可以新建目錄bin_debug,將2個工程的生成文件都放到其中。
2、似乎可以#include "../bin_debug/mylib.h"