Qt 有没有办法将动态库打包到应用程序二进制文件中?

Qt 有没有办法将动态库打包到应用程序二进制文件中?,qt,dll,Qt,Dll,您好,我正在开发一个使用插件(动态库)的Qt应用程序,我想知道是否有一种方法可以在一个文件中构建应用程序和库(可能使用QResource功能?Qt支持将插件静态链接到您的应用程序。看 在代码中使用Q\u IMPORT\u PLUGIN()宏,如下所示: #include <QApplication> #include <QtPlugin> Q_IMPORT_PLUGIN(qjpeg) int main(int argc, char *argv[]) { QAp

您好,我正在开发一个使用插件(动态库)的Qt应用程序,我想知道是否有一种方法可以在一个文件中构建应用程序和库(可能使用QResource功能?

Qt支持将插件静态链接到您的应用程序。看

在代码中使用
Q\u IMPORT\u PLUGIN()
宏,如下所示:

#include <QApplication>
#include <QtPlugin>

Q_IMPORT_PLUGIN(qjpeg)

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    ...
    return app.exec();
}

您可能还需要自己构建Qt的静态版本-不确定预构建版本是否包含静态库(我不使用预构建代码)。

您需要一个像“DLL到库”这样的应用程序,它可以将DLL文件转换为静态库。然后,您可以使用.lib文件而不是DLL进行链接,这样就完成了所有设置。您可以在此处下载一款产品的试用版:


执行此操作时,请确保不违反库的许可证。如果库不能作为静态库使用,那么它可能位于LGPL(甚至是GPL)之下。在任何一种情况下,静态链接都会违反许可证,除非您也在GPL下发布软件

QTPLUGIN += qjpeg