首页 > 解决方案 > Linux 与 Windows 的部署规模

问题描述

我正在部署一个由 Qt 为 Windows 和 Linux 开发的应用程序:

在 Windows 上,我使用内置的 Qtwindeployqt工具:

windeployqt.exe app.exe --qmldir %NS_REPO_DIR%\qml\

在 Linux 上,我使用的是linuxdeployqt

linuxdeployqt_EXE="${NS_REPO_DIR}/scripts/linuxdeployqt/linuxdeployqt-7-x86_64.AppImage"

${linuxdeployqt_EXE} app -qmake=${NS_QT_QMAKE_EXE} -qmldir=${NS_REPO_DIR}/qml/ 

Windows 的部署大小约为 70 MB,Linux 的部署大小约为 300 MB。正常吗?有什么我可能会丢失的吗?

谢谢!

更新

这是我在 Linux 上的部署,其内容按大小排序。Qt 文件看起来不像是debug模式。此外,还有一个libQt5WebEngineCore.so.5.12.7111 MB 的大文件:

部署存档

标签: qtdeploymentqml

解决方案


我们不得不在这里责怪所有 GNU/Linux 发行版制造商改变了这么多东西。

与 Windows 不同,Windows 7、8、10 的版本很少,仅此而已。在 GNU/Linux 中,我们有如此多的版本和变体,以至于我们必须“几乎”包含应用程序所需的所有内容,以确保它能够在大多数现有系统变体上运行。

也就是说,您可以手动检查部署在 AppDir 中的文件,并删除那些您知道您的应用程序不需要的文件。

旁注:虽然 linuxdeployqt 仍然可以使用,但还有其他工具可以做得更好。考虑检查https://github.com/linuxdeploy/https://github.com/AppImageCrafters/appimage-builder


推荐阅读