ABC类在Py2app App和System Library中实现。将使用两者之一

时间:2012-06-17 02:24:07

标签: pyqt py2app

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

我遇到了以下几个错误:

  
      
  • 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)

老实说,我真的不明白如何根据这个错误信息做我需要做的事情(我不是编码员;我只是尽力打包软件)。

1 个答案:

答案 0 :(得分:5)

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