0

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

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

  • QtQml.framework
  • QtQuick.framework
  • QtWebChannel.framework (我正在使用 webkit 和 webkit 桥,所以我假设我不需要 QtWebChannel 框架?)
  • QtMultimedia.framework
  • QtMultimediaWidgets.framework
  • QtSensors.framework
  • QtOpenGL.framework
4

1 回答 1

2

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

您可能会对这些框架中有多少是必要的感到惊讶——它们都具有相互依赖关系。解决这个问题的唯一方法是从源代码构建 Qt,并将其配置为只构建所需的模块。

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

于 2015-11-29T21:03:08.213 回答