【问题标题】:Class ABC is implemented in both Py2app App and System Library. One of the two will be usedABC 类在 Py2app 应用程序和系统库中都实现了。将使用两者之一
【发布时间】:2012-06-17 02:24:07
【问题描述】:

我正在尝试通过 Py2app 在 Mac OS Lion 上打包使用 PyQt 的应用程序 Mnemosyne

我遇到如下几个错误:

  • objc[2826]:类 QCocoaView 在两者中都实现了 /Volumes/Bullfrog/patrick/m2/./dist/Mnemosyne.app/Contents/MacOS/../Frameworks/libQtGui.4.dylib 和 /opt/local/lib/libQtGui.4.dylib。将使用两者之一。 哪一个是未定义的。
  • objc[2826]:类 QCocoaWindow 在两者中都实现了 /Volumes/Bullfrog/patrick/m2/./dist/Mnemosyne.app/Contents/MacOS/../Frameworks/libQtGui.4.dylib 和 /opt/local/lib/libQtGui.4.dylib。将使用两者之一。 哪一个是未定义的。

该类的第一个版本是在 Py2App 中使用的,也是应该使用的(我正在尝试使应用程序独立)。第二个是我通过 MacPorts 安装的系统 Qt。我必须向应用程序添加什么才能使其使用捆绑的 Qt 而不是系统 Qt?

还有几个这样的陈述:

在 Mac OS X 上,您可能会将两组 Qt 二进制文件加载到 相同的过程。检查所有插件是否针对正确的 Qt 编译 二进制文件。导出 DYLD_PRINT_LIBRARIES=1 并检查只有一组 正在加载二进制文件。 QObject::moveToThread: 当前线程 (0x10246c880) 不是对象的线程 (0x106985d00)。无法移动到 目标线程(0x10246c880)

老实说,仅基于此错误消息,我真的不明白如何在这里做我需要做的事情(我不是编码员;我只是在尽力打包软件)。

【问题讨论】:

    标签: pyqt py2app


    【解决方案1】:

    This article 给出了解决方案:只需在应用程序的 Content/Resources 目录中添加一个空白的 qt.conf 文件。

    【讨论】:

      猜你喜欢
      • 2015-08-15
      • 1970-01-01
      • 2016-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多