我一直在Linux和Windows上使用Qt一段时间。然而,昨天我选择了一台新的MacBook Pro,所以我一直在玩,看看我是否可以在Mac上构建我的Qt应用程序。
我几乎所有工作都有效,但是有一个问题:生成的应用包的文件大小。
我正在构建我的应用程序:
qmake -spec macx-g++
make
macdeployqt my.app -no-plugins -dmg
捆绑包和一切似乎工作正常,但是,生成的.app大31.1 MB大,.dmg是13.6 MB!
这是正常的吗?我可以减少这种可怕的大小(在Windows上,我的安装程序与所有库的相同应用程序大约是4 MB)?
答案 0 :(得分:2)
如果您正在使用预先构建的Qt库,则很可能它们是具有多个体系结构的通用二进制文件。例如,执行$ file my.app/Resources/Frameworks/QtCore.framework/Versions/4/QtCore
,您将看到多种体系结构。
您可以仅使用您想要支持的体系结构来构建自己的Qt库。您可能希望不支持PPC,因为这是古老的;或者如果你使用当前的Qt,那么你可以做出32位对64位的决定,但这是另一个问题。
答案 1 :(得分:0)
问题是Qt动态库的大小,因为它们必须是捆绑包的一部分。
通常可以减少这些尺寸。 请参阅How do I make apps smaller with qmake and macdeployqt有关如何执行此操作的解决方案。
一个很好的解决方法是Qt的静态构建,并将您的应用程序与静态构建相链接。这通常是一个非常好的主意,因为动态安装Qt的两个应用程序通常会在Mac OS上崩溃。 您的应用程序将具有静态构建(来自我的exp。)约。 10-20MB的大小。结合上述步骤,可能会进一步减少。