概述
同一编译器同一版本QT调用Qt自己写的DLL(隐式调用)。
一、Qt调用程序和DLL不在同一项目
1.创建Qt控制台应用程序
2.添加库->外部库->选择外部库的文件路径,确认Lib库加载的路径。加载完成后.pro文件中会增加如下代码。
3.添加头文件将DLL的头文件添加至项目中。建议先将头文件复制到项目文件夹中。
4. 将.dll文件复制到..\build-appTest-Desktop_Qt_5_9_7_MSVC2017_64bit-Debug\debug或者..\build-appTest-Desktop_Qt_5_9_7_MSVC2017_64bit-Debug\release目录中。否则DLL调用不起来。
5.main.cpp中引入头文件。如下图所示。
6.使用,由于导出的DLL是类,DLL的调用如下图所示。
7.运行
二、QT调用程序和DLL在同一项目中。
1.新建项目->其它项目->子目录项目...至完成。.pro中如图所示。
2.在该项目下新建一个mainApp调用程序。
3.载该项目下创建一个DLL。
4.编写DLL的代码。
5.编译DLL代码,.dll文件复制到..\build-appTest-Desktop_Qt_5_9_7_MSVC2017_64bit-Debug\debug或者..\build-appTest-Desktop_Qt_5_9_7_MSVC2017_64bit-Debug\release目录中。
6.在mainApp中添加内部库,完成添加后会在mainApp.pro中增加如下代码。
7.在mainApp的主函数中引入头文件。
8.调用DLL,如下图。
9.运行
三、注意
DLL 如果DLL加载失败,一般是由于位数、编译器、或者该DLL依赖其他库(或者其他DLL)导致的。不是什么DLL都可以拿来直接使用 。