Qt 5.0.2应用程序的可移植性问题.如何制作简约的Qt包

Trouble with portability of Qt 5.0.2 applications. How to make minimalistic Qt package?

本文关键字:Qt 何制作 可移植性 应用程序 问题      更新时间:2023-10-16

我知道Qt默认情况下不是静态构建的,如果有任何带有.lib或.a扩展名的文件,那么这些文件只是导入库。我希望我的应用程序小而可移植,所以除了考虑静态地重新编译Qt之外,我还考虑如何使动态库尽可能小,可以安装在另一台与Qt无关的计算机上,使其在运行我的Qt应用程序的情况下完全有效。在这种情况下,我是关于Windows Xp或更高版本的Windows。在创建这样一个包的情况下,我首先意识到Qt5安装程序不会向系统和用户路径添加任何内容,并且如果没有Qt Creator,我无法运行我编译的应用程序。然而,在我添加到系统和用户路径变量后:

" K: Qt Qt5.0.2 5.0.2 mingw47_32 bin "

,

" K: Qt Qt5.0.2"

是Qt安装文件夹,我可以从驱动器上的任何位置运行Qt Creator之外的应用程序。考虑到这个事实,我认为对于这样一个包,复制

就足够了

" K: Qt Qt5.0.2 5.0.2 mingw47_32 bin "

到另一台电脑,添加到系统和用户路径,一切都会如我所愿。不幸的是,事实并非如此。虽然我对不能在第二台电脑上运行我的应用程序感到有点失望,但我在第二台电脑上安装了相同的Qt版本,创建了类似的Path条目,一切都开始正常运行。更具体地说,第二台PC上的安装目录是:

" M: Qt Qt5.0.2"

,如果我添加到路径:

" M: Qt Qt5.0.2 5.0.2 mingw47_32 bin "

就行了,但如果我加上这个:

" M: Qt_5.0.2_libs bin "

包含与"M:QtQt5.0.25.0.2mingw47_32bin"完全相同的文件

则不

我的问题是:

我错过了什么,所以它不能工作,如何使这样一个极简主义的包?

部署应用程序在Qt文档中有介绍。