2009-09-15 6 views
3

Я только что собрал последний предварительный просмотр Qt4.6 на Snow Leopard в 64 бит без каких-либо серьезных проблем.PyQt4 на Snow Leopard в 64 бит

http://qt.nokia.com/developer/qt-4.6-technology-preview#download-the-qt-4-1

Теперь я пытаюсь сделать то же самое для PyQt4.6 с последним снимком с сайта River Bank. Однако компилятор выходит со следующим вопросом:

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. 

Является ли это ошибка с PyQt4 пытается получить доступ к закрытому члену класса Qt4? Сможет ли кто-нибудь скомпилировать PyQt4 на Snow Leopard?

ответ

2

В я вижу список изменений Фил (MAINTAINER PyQt) в has issued fixes вчера в снимках разработки специально для Snow Leopard:

2009/09/14 12:12:49 ФИЛА Дальнейших исправления для Snow Leopard на 64 бит . Добавлено QObject.pyqtConfigure().

Вы используете вчерашнюю сборку PyQt?

This thread on the mailinglist также особенно интересен.

Проблемы с компиляцией PyQt, по-видимому, вызваны 64-битными компиляторами Snow Leopards и 64/32-битной смешанной версией Python, с которой она поставляется.

Если все пойдет не так, я отправлю ваши проблемы в этот список рассылки (чтобы они могли исправляться - надеюсь) и попытаться (временно) перестроить Qt и PyQt (и, возможно, python) 32-битным способом (с флагом -m32-компилятора), если вам это нужно сейчас.

+0

Да, я загрузил моментальный снимок разработки с нескольких часов назад. – dzhelil

0

Возможно, вы захотите использовать PyQt из проекта homebrew: простая сборка, управляемые зависимости.

Завершите работу на моем MBP Unibody, все 64-разрядные.