【问题标题】:How do I make apps smaller with qmake and macdeployqt如何使用 qmake 和 macdeployqt 使应用程序更小
【发布时间】:2011-07-03 12:00:21
【问题描述】:

如何使用 qmake 和 macdeployqt 使应用程序更小?

我在项目 .pro 文件中设置了 QT = core gui 并在生成的应用程序上运行 qmake 和 macdeployqt。

问题在于程序捆绑了 QtNetwork、QtScript、QtSvg 等。我尝试设置 QT -= network script svg(然后 make clean、rm -rf *.app、qmake、make)。

应用程序总共有 32 MB。

.pro 文件:

TEMPLATE = app
TARGET = throw
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += x86_64 release
QT = core gui

unix {
    CONFIG += link_pkgconfig
    PKGCONFIG += glib-2.0
}

# Input
SOURCES += main.cpp

# Headers
HEADERS += throw.h

RESOURCES += throw.qrc

ICON = throw.png

mac {
    QMAKE_INFO_PLIST = Info.plist
    ICON = throw.icns
}

【问题讨论】:

  • 恕我直言,Qt 应用程序应使用查找 Qt 框架的包装器,如果未找到,则将其下载并安装到 Library/Frameworks 或 ~/Library/Frameworks。无论是 30 MB 还是 70 MB,为每个应用程序都拥有一个单独的 Qt 副本是不合理的。我不知道为什么 Qt 的人从来没有实现过这样的解决方案。
  • 我同意@LaC。但是,我想建议做一个小的 pkg 设置,然后根据需要下载所需的组件。 pkg 设置可以执行安装前和安装后设置脚本,如果需要,甚至可以以管理员级别的帐户权限运行。

标签: macos qt qt4 qmake macdeployqt


【解决方案1】:

这是一篇关于(重新)静态和动态构建 Qt 以显着减小其大小的精彩文章:Building Qt Static (and Dynamic) and Making it Small with GCC, Microsoft Visual Studio, and the Intel Compiler

虽然这个是在 Windows 上下文中讨论 Qt,但它确实提供了一些关于如何进行最小尺寸编译的很好的见解。

【讨论】:

    【解决方案2】:

    之后您可以在post-build stepstrip 二进制文件。 Qt 库本身是shared by default

    【讨论】:

    • macdeployqt 不会剥离二进制文件吗?您必须使用选项 -no-strip 来不删除二进制文件,这表明它是默认设置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    • 2012-09-08
    • 2018-10-07
    相关资源
    最近更新 更多