Qt 创建dll并调用

今天简单将学习到qt创建dll并调用使用,在这里简单记录一下。

一 Qt创建dll

打开QtCreator创建一个新的Library项目,C++库
Qt 创建dll并调用_第1张图片
创建共享库 名称就起了一个叫做mydll
Qt 创建dll并调用_第2张图片
选择编译器,默认就好
Qt 创建dll并调用_第3张图片
选择需要的模块,默认就已近勾选了QtCore,这里如果还有需要其它模块的话按需勾选。
Qt 创建dll并调用_第4张图片
Qt 创建dll并调用_第5张图片
这个是创建好工程后,项目的结构。在.pro 中 template = lib,库文件
Qt 创建dll并调用_第6张图片
在mydll_global.h文件中,有个宏Q_DECL_EXPORT,此宏标记用于共享库导出的符号。如不想要这个mydll_global.h文件,就把文件中框选的内容,复制到mydll.h中,随后可将mydll_global.h删除。
Qt 创建dll并调用_第7张图片

在mydll.h将 #include “mydll_global.h” 删除,
Qt 创建dll并调用_第8张图片
添加要实现函数的声明 mydll.h
Qt 创建dll并调用_第9张图片

函数实现mydll.cpp
Qt 创建dll并调用_第10张图片
(我用的是MinGW 32bit的构建套 )编译运行后,会弹出一个框,可以忽略它
Qt 创建dll并调用_第11张图片

在生成的Debug目录下有三个文件分别是 libmydll.a mydll.dll mydll.o ;其中,.dll是在Windows下使用的,.o是在Linux/Unix下使用的。Qt 创建dll并调用_第12张图片

二 Qt调用dll

在新建立一个工程,测试生成的dll
Qt 创建dll并调用_第13张图片

Qt 创建dll并调用_第14张图片

Qt 创建dll并调用_第15张图片

将mydll.h文件和在Debug生成的 mydll.dll 这两个个文件复制到testMydll源代码目录下
Qt 创建dll并调用_第16张图片

将mydll.h文件添加到头文件中
Qt 创建dll并调用_第17张图片

很重要的一步,将mydll.dll加入到.pro文件中,设置对dll引用的路径
**LIBS += “E:/Projects/QtProject/testMydll/mydll.dll” **

Qt 创建dll并调用_第18张图片
在main文件中添加对mydll.h的引用
Qt 创建dll并调用_第19张图片
编译运行,在生成的Debug目录下将mydll.dll复制进去
Qt 创建dll并调用_第20张图片
再次运行,可以看到应用程序的输出
Qt 创建dll并调用_第21张图片前面使用mydll.dll路径的时候使用的是绝对路径,可以修改为相对路径。

即可由LIBS += “E:/Projects/QtProject/testMydll/mydll.dll” 更改为
LIBS += $$PWD/mydll.dll 是相对.pro目录下的相对路径。
Qt 创建dll并调用_第22张图片

三 小结

1 、最重要的是在.pro中添加对dll的路径的配置
2、使用dll时需要将dll的头文件导入,使用include包含

你可能感兴趣的:(Qt,qt,c++,windows)