一、封装程序
(1)、点击创建项目->库->c++library
(2)、填写自己想要封装成库的名称,这里我填写的名称为mydll1
(3)、如果没有特殊的要求,则一路下一步,最终会出现如下文件列表。
(4)、删除mydll1_global.h文件,编写mydll1.h文件内容如下:
其中class Q_DECL_EXPORT Mydll
为需要封装的类名,可以在类中编写相关函数,在上述例子中,我们编写了一个add函数。
cpp
extern "C"
{
Q_DECL_EXPORT int add(int a, int b);
}
上述代码含义为,该函数可以被C语言或其他语言调用,同时这个函数是导出(export)的,意味着它可以从动态链接库(DLL)中被外部程序访问。
(5)、编写函数的实现,在对应的.cpp中
编写完成后选择release模式,点击编译(小锤子):
此时会在创建项目的文件夹中的"Mydll1\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release"找到"mydll1.dll"和"mydll.lib"。此时代码封装完成。
二、调用封装好的程序
(1)、创建一个名为test的新项目将之前打包程序中的"mydll1.h"的头文件粘贴到该项目下:
(2)、release模式,点击编译(小锤子)
(3)、此时会在项目的根目录下会出现如下路径:test\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release
将封装好的mydll1.dll、mydll1.lib粘贴到如上位置。并将mydll1.lib的路径添加到test.pro中。
LIBS+=PATH\test\build\Desktop_Qt_5_15_2_MSVC2019_64bit-Release\release\mydll1.lib。
(4)、在test的主函数中引用mydll1.h的头文件。并调用add函数:
点击运行,调用成功。