静态库 / 动态库
动态库
https://blog.csdn.net/kchmmd/article/details/122983897
https://blog.csdn.net/panchang199266/article/details/104260415
https://blog.csdn.net/simple_core/article/details/128219968
https://blog.csdn.net/Cappuccino_jay/article/details/126096774
/* global.h*/
/*
首先,检查宏 MYDLL_LIBRARY 是否已经定义。
如果它已定义,则表示正在编译 DLL 库的源代码。
如果未定义,则表示在使用 DLL 的应用程序或模块的源代码。
根据检查的结果,定义一个宏 MYDLL_EXPORT,以指示要么导出(Q_DECL_EXPORT),要么导入(Q_DECL_IMPORT)符号。
如果 MYDLL_LIBRARY 已定义,将 MYDLL_EXPORT 定义为 Q_DECL_EXPORT。
Q_DECL_EXPORT 是 Qt 定义的一个宏,用于标记符号为导出项,通常用于 DLL 的源代码中。
它告诉编译器将相关的符号添加到 DLL 的导出表中,使其他应用程序或模块可以使用它们。
如果 MYDLL_LIBRARY 未定义,将 MYDLL_EXPORT 定义为 Q_DECL_IMPORT。
Q_DECL_IMPORT 是 Qt 定义的一个宏,用于标记符号为导入项,通常用于使用 DLL 的应用程序或模块的源代码中。
它告诉编译器在链接时从相应的 DLL 的导入表中获取符号信息,并将其链接到当前的可执行文件或另一个 DLL 中,以便使用 DLL 提供的功能。
*/
#ifndef MYDLL_GLOBAL_H
#define MYDLL_GLOBAL_H
#include <QtCore/qglobal.h>
#if defined(MYDLL_LIBRARY)
# define MYDLL_EXPORT Q_DECL_EXPORT
#else
# define MYDLL_EXPORT Q_DECL_IMPORT
#endif
#endif // MYDLL_GLOBAL_H