从 macdeployqt 中排除框架

Exclude Frameworks from macdeployqt

在 OSX 上使用 Qt/C++ (QT 5.5),有没有办法排除我在 运行 到 macdeployqt 时不使用的 API 框架?

例如,我认为我不需要以下框架:

这是我的建议:尝试从应用程序包中逐一手动删除这些框架,然后 运行 您的应用程序。这只是在 Finder 中打开应用程序包(或从命令行进入它)并将框架移动到另一个文件夹的问题。

您可能会惊讶于这些框架中有多少是必需的——它们都具有相互依赖性。解决此问题的唯一方法是从源代码构建 Qt,并对其进行配置,以便只构建所需的模块。

至于 macdeployqt 本身,它是一个非常通用的工具,无法满足每个应用程序的需要。如果您能够删除任何这些框架,最好的办法是编写一个运行 macdeployqt 的脚本,然后修复输出。 macdeployqt 工具仍然是相当新的(从 Qt 5.5 开始),因此肯定仍然有 bug 需要修复和功能需要实现。所以你现在唯一的选择就是解决它的缺陷。