本文讲EXE调用DLL动态库,无非两步:
1.创建DLL
2.EXE 调用DLL
本文就以实现一个EXE,点击ui上pB_mydll这个按钮,调用dll中的DIALOG为例来解释一下如何实现EXE调用动态库。
1.创建dll
1.1新建->Library->C++库,自动生成3个文件mylib.cpp、mylib.h、mylib_global.h。
1.2设置.dll输出路径,在.pro文件中添加
DESTDIR=..\MyDebug
1.3 自动生成无需修改只需写函数,因为已经有MYLIB_EXPORT.
比如添加一个输出“aa” 字符的函数。
1.4如果是自定义类输出,比如一个对 话框,需要做两点改动:
1..h文件需要添加 #include "myLib_global.h"
2.自定义类设为 MYLIB_EXPORT.比如添加了一个对话框myDlg,
自动生成是 class myDlg: public myDlg{}
改动后是 class MYLIB_EXPORT myDlg: public QDialog{}
注意:.pro 文件
QT += widgets 否则 #include <QDialog> 是会报错的。
.lib .a .o 三种文件
2.EXE调用DLL
EXE界面实现点击按钮调用dll中的dialog.
2.1.pro 配置文件修改
1.把mylib文件夹包含到这个项目里来INCLUDEPATH +=../mylib
2.告诉编译器lib在哪 LIBS += -L$$DESTDIR -lmyLib
路径一定要选对。
2.2在cpp文件中添加头文件和实现函数