Solved Deployment size for Linux vs Windows
-
I'm deploying an app developed by Qt for both Windows and Linux:
On Windows I'm using built-in Qt
windeployqt
tool:windeployqt.exe app.exe --qmldir %NS_REPO_DIR%\qml\
On Linux I'm using 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/
The deployment size for Windows is around 70 MB and for Linux is around 300 MB. Is it normal? Is there anything I might be missing?
Thanks!
-
@m3g1dd You can remove libs which are not used by your app.
Doldd YOUR_APP
to see which libs are used.
-
Maybe you have used
debug
libraries on Linux? They weigh a lot more thanrelease
ones. -
This is my deployment on Linux whose content is sorted by size. The Qt files don't look like to be
debug
mode. Also, there is a hugelibQt5WebEngineCore.so.5.12.7
file of 111 MB: -
Some non-Qt files like TBB files are deployed which are in
debug
mode. But their sizes are not that large.Any ways, I might remove the non-Qt
debug
mode files and see how it changes the deployment size. -
@m3g1dd You can remove libs which are not used by your app.
Doldd YOUR_APP
to see which libs are used.
-
@m3g1dd This isn't a particularly large part of your problem, but it makes no sense that libgmp.a is in your AppImage. There is generally no need to ship a static library like that for use at runtime.
That said, compare exactly what libs are shipped on Windows. Is LinuxdeployQt including more libraries, or are those libraries just individually all larger?
-
The major reason for Linux vs Windows deployment size difference (300 MB vs 70MB) is suggested to be: https://stackoverflow.com/a/65813398/3405291
-
@m3g1dd So, did you try to find out whether all these libs are really needed? Did you check what @wrosecrans wrote?