【问题标题】:Macdeployqt doesn't include Phonon in the .app bundleMacdeployqt 在 .app 包中不包含 Phonon
【发布时间】:2013-07-12 17:40:29
【问题描述】:

各位程序员大家好!

我使用 Qt 编写了一个视频播放器。在我的 Mac 上一切正常,但是当我使用 macdeployqt 部署我的应用程序并打开结果时,我收到以下消息:

WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded
WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to Phonon::AudioOutput ( no objectName ).
WARNING: bool Phonon::FactoryPrivate::createBackend() phonon backend plugin could not be loaded 
...

当然它不会播放音频(在我的机器或其他机器上)。 Maqcdeployqt 确实包含 Qt 的其他部分和 3 方库问题。它只是该死的声子。 我觉得我犯了一个愚蠢的错误,但我就是找不到。 我的应用程序的 otool 日志显示:

@executable_path/../Frameworks/phonon.framework/Versions/4/phonon (compatibility version 4.4.0, current version 4.4.0)

作为声子的唯一参考。

我在 qt 的文档中读到以下内容:

“Mac 部署工具可以在 QTDIR/bin/macdeployqt 中找到。它旨在自动创建包含 Qt 库作为私有框架的可部署应用程序包的过程。 mac 部署工具也会根据以下规则部署 Qt 插件:

-未部署插件的调试版本。 - 未部署设计器插件。 -始终部署图像格式插件。 - 如果应用程序使用 QtSql 模块,则部署 SQL 驱动程序插件。 - 如果应用程序使用 QtScript 模块,则部署脚本插件。 - 如果应用程序使用 QtSvg 模块,则部署 svg 图标插件。 -始终部署可访问性插件。 "

也许我有声子的调试版本?我不知道,我尝试过部署调试版和发布版,但都没有成功。

我也在这个页面中发现了一个相关的问题: http://www.justinfx.com/tag/phonon/ 因此,我在捆绑包中包含了一个名为“PlugIns”的文件夹,其中包含部署后系统内部的 phonon_backened 文件夹:它在我的机器上播放音频(但它没有在另一台机器上播放),我的应用程序在最后崩溃了所以这不可能。

我正在使用 c++、Qt 4.8.5、来自 SDK 的声子(我没有安装任何版本的声子,我只是安装了 Qt)和 Mac OS X (10.6.8)

我很想听听任何想法或建议。

提前致谢。

【问题讨论】:

    标签: macos qt phonon macdeployqt


    【解决方案1】:

    我没有找到错误的来源,但我通过从另一台 Mac(即 Lion)上的 qt 示例文件夹中部署声子示例来绕过它。它包含包含所有声子内容的包中的文件夹“插件”,因此我现在将该文件夹包含在我的 Snow Leopard 中手动部署的包中。它很丑,但从现在开始就可以了。

    如果有人知道真正解决问题的方法,我会很高兴听到。

    【讨论】:

      【解决方案2】:

      我使用了py2apppyinstallercx_freeze 都不起作用),它几乎完美地创建了应用程序分发文件夹,除了它没有复制声子后端。运行macdeplpyqt 没有帮助。

      插件在应用结构中的位置是MyApp.app/Contents/PlugIns,所以我将Qt install (/Developer/Applications/Qt/plugins/phonon_backend/) 中的文件夹复制到PlugIns 文件夹中。那仍然给出了同样的错误。

      进一步挖掘我看到MyApp.app/Contents/Resource/qt.conf 文件期望插件位于Resource/qt_plugins 文件夹中,所以我创建了一个从PlugIns MyApp.app/Contents/PlugInsMyApp.app/Contents/Resource/qt_plugins 的符号链接,现在一切正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-18
        • 2011-04-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多