Qt 有没有办法将动态库打包到应用程序二进制文件中?
您好,我正在开发一个使用插件(动态库)的Qt应用程序,我想知道是否有一种方法可以在一个文件中构建应用程序和库(可能使用QResource功能?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
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