Frage

Ich habe gerade die neueste Vorschau von Qt4.6 auf Snow Leopard zusammengestellt in 64-Bit ohne größere Probleme.

http: // qt .nokia.com / Entwickler / qt-4.6-Technologie-Vorschau # Download-the-qt-4-1

Nun, ich versuche, das gleiche für PyQt4.6 mit dem neuesten Snapshot von der River Bank Website zu tun. Allerdings ist der Compiler beendet mit dem folgenden Problem:

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.

Ist das ein Fehler mit PyQt4 ein eigenes Mitglied einer Qt4 Klasse zuzugreifen versuchen? Hat jemand PyQt4 auf Snow Leopard zusammengestellt erfolgreich?

War es hilfreich?

Lösung

Ich habe gerade PyQt 4.6.2 mit dem 64-Bit-Python 2.6.1 arbeiten. Ich stellte die Anweisungen hier: http: / /mpastell.com/2009/11/24/pyqt-4-6-2-with-snow-leopard/

Andere Tipps

In den Changelogs ich sehe, Phil (PyQt Maintainer) hat bei der Entwicklung speziell für Snow Leopard gestern Behebungen ausgegeben Snapshots:

  

2009.09.14 00.12.49 phil Weitere   Updates für Snow Leopard auf 64-Bit   Systeme. Hinzugefügt   QObject.pyqtConfigure ().

Sind Sie gestern Build von PyQt verwenden?

Dieser Thread ist auf der Mailingliste ist auch besonders interessant.

Die PyQt Probleme kompilieren scheint von Snow Leopards Standard-64-Bit kompiliert und die 64/32 Bit gemischte Version von Python es Schiffe mit.

verursacht werden

Wenn die Dinge weiter schief gehen, würde ich Ihre Probleme zu dieser Mailingliste einreichen (so können sie repariert - hoffentlich) und versuche, (vorübergehend) wieder aufzubauen Qt und PyQt (und möglicherweise Python) in einer 32-Bit-Mode (mit die -m32 Compiler-Flag), wenn Sie es brauchen Arbeit jetzt.

Sie möchten vielleicht PyQt aus dem Homebrew-Projekt verwenden. Einfach zu bauen, verwalten Abhängigkeiten

Ausführen auf meinem MBP Unibody, alle 64-bit.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top