64位雪豹上的PyQt4

64位雪豹上的PyQt4,qt4,osx-snow-leopard,pyqt4,x86-64,Qt4,Osx Snow Leopard,Pyqt4,X86 64,我刚刚编译了64位雪豹上Qt4.6的最新预览版,没有任何重大问题 现在,我正尝试使用River Bank网站上的最新快照对PyQt4.6执行同样的操作。但是,编译器存在以下问题: g++ -c -pipe -fPIC -arch x86_64 -O2 -Wall -W -DNDEBUG -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I/Users/drufat/Downloads/PyQt-mac-gpl-4.6-snapshot-20090914/qpy/QtCore -

我刚刚编译了64位雪豹上Qt4.6的最新预览版,没有任何重大问题

现在,我正尝试使用River Bank网站上的最新快照对PyQt4.6执行同样的操作。但是,编译器存在以下问题:

g++ -c -pipe -fPIC -arch x86_64 -O2 -Wall -W -DNDEBUG -DQT_NO_DEBUG -DQT_CORE_LIB -I. -I/Users/drufat/Downloads/PyQt-mac-gpl-4.6-snapshot-20090914/qpy/QtCore -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -I/usr/local/Trolltech/Qt-4.6.0/mkspecs/default -I/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers -I/usr/local/Trolltech/Qt-4.6.0/include -F/Users/drufat/Downloads/PyQt-mac-gpl-4.6-snapshot-20090914/qpy/QtCore -F/usr/local/Trolltech/Qt-4.6.0/lib -o sipQtCoreQResource.o sipQtCoreQResource.cpp
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h: In copy constructor ‘QResource::QResource(const QResource&)’:
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:180: error: ‘QScopedPointer<T, Cleanup>::QScopedPointer(const QScopedPointer<T, Cleanup>&) [with T = QResourcePrivate, Cleanup = QScopedPointerDeleter<QResourcePrivate>]’ is private
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qresource.h:59: error: within this context
sipQtCoreQResource.cpp: In constructor ‘sipQResource::sipQResource(const QResource&)’:
sipQtCoreQResource.cpp:78: note: synthesized method ‘QResource::QResource(const QResource&)’ first required here 
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h: In static member function ‘static void QScopedPointerDeleter<T>::cleanup(T*) [with T = QResourcePrivate]’:
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:100:   instantiated from ‘QScopedPointer<T, Cleanup>::~QScopedPointer() [with T = QResourcePrivate, Cleanup = QScopedPointerDeleter<QResourcePrivate>]’
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qresource.h:59:   instantiated from here
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:59: error: invalid application of ‘sizeof’ to incomplete type ‘QResourcePrivate’ 
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:59: error: creating array with negative size (‘-0x00000000000000001’)
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:60: error: invalid application of ‘sizeof’ to incomplete type ‘QResourcePrivate’ 
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:60: error: creating array with negative size (‘-0x00000000000000001’)
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:62: warning: possible problem detected in invocation of delete operator:
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:54: warning: ‘pointer’ has incomplete type
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qresource.h:56: warning: forward declaration of ‘struct QResourcePrivate’
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:62: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined.
g++-c-pipe-fPIC-arch x86_64-O2-Wall-W-DNDEBUG-DQT_NO_DEBUG-DQT_CORE_LIB-I-I/Users/drufat/Downloads/PyQt-mac-gpl-4.6-snapshot-20090914/qpy/QtCore-I/System/librariends/Python.framework/Versions/2.6/include/python2.6-I/usr/local/local/trollech/trollech/tech/Qt-4.6/Qt-4.0/QtCore/Qt-4.0/QtCore/Qt-1-I/usr/local/Trolltech/Qt-4.6.0/include-F/Users/drufat/Downloads/PyQt-mac-gpl-4.6-snapshot-20090914/qpy/QtCore-F/usr/local/Trolltech/Qt-4.6.0/lib-o sipQtCoreQResource.o sipQtCoreQResource.cpp
/usr/local/trolletech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:复制构造函数'QResource::QResource(const QResource&'):
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:180:错误:“qscopedpointer::qscopedpointer(const-qscopedpointer&)[with T=QResourcePrivate,Cleanup=QScopedPointerDeleter]是私有的
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qresource.h:59:错误:在此上下文中
sipQtCoreQResource.cpp:在构造函数“sipQResource::sipQResource(const QResource&)”中:
sipQtCoreQResource.cpp:78:注意:此处首先需要合成方法'QResource::QResource(const QResource&')
/usr/local/trolletech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:在静态成员函数“static void QScopedPointerDeleter::cleanup(T*)[带T=QResourcePrivate]”中:
/usr/local/trolletech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:100:从“qscopedpointer::~qscopedpointer()[带T=QResourcePrivate,Cleanup=QScopedPointerDeleter]实例化”
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qresource.h:59:从此处实例化
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:59:错误:“sizeof”对不完整类型“QResourcePrivate”的应用无效
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:59:错误:创建大小为负的数组('-0x00000000000000001'))
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:60:错误:“sizeof”对不完整类型“QResourcePrivate”的应用无效
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:60:错误:创建大小为负的数组('-0x00000000000000001'))
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:62:警告:调用delete运算符时检测到可能的问题:
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:54:警告:“指针”的类型不完整
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qresource.h:56:警告:正向声明“struct QResourcePrivate”
/usr/local/Trolltech/Qt-4.6.0/lib/QtCore.framework/Headers/qscopedpointer.h:62:注意:即使在定义类时声明了析构函数或类特定的运算符delete,也不会调用它们。

这是PyQt4尝试访问Qt4类的私有成员时发生的错误吗?有人成功地在雪豹上编译了PyQt4吗?

在变更日志中,我昨天在专门针对雪豹的开发快照中看到了Phil(PyQt的维护人员):

2009/09/14 12:12:49 修复了64位上的雪豹 系统。补充 QObject.pyqtConfigure()

您使用的是昨天的PyQt版本吗

也特别有趣

PyQt编译问题似乎是由Snow Leopards默认64位编译及其附带的64/32位混合版Python造成的


如果事情继续出错,我会将您的问题提交到此邮件列表(以便它们能够得到修复-希望如此),并尝试(暂时)以32位的方式(使用-m32编译器标志)重建Qt和PyQt(可能还有python),如果您现在需要它工作。

我刚刚获得了PyQt 4.6.2与64位python 2.6.1一起工作。我在这里发布了说明:

您可能希望使用自制项目中的PyQt:直接构建、托管依赖项


在我的MBP Unibody上运行良好,全部为64位。

是的,我从几个小时前下载了开发快照。谢谢。我已经通过macports安装了它<代码>端口安装py26-pyqt4