Pergunta

Eu só compilou a mais recente prévia do Qt4.6 no Snow Leopard em 64 bits sem grandes problemas.

http: // qt .nokia.com / desenvolvedor / qt-4.6-tecnologia-visualização # download-a-qt-4-1

Agora, eu estou tentando fazer o mesmo para PyQt4.6 com o último snapshot do site da River Bank. No entanto, as saídas do compilador com o seguinte problema:

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.

Este é um erro com PyQt4 tentando acessar um membro particular de uma classe Qt4? Alguém compilado PyQt4 no Snow Leopard com sucesso?

Foi útil?

Solução

Eu só tenho PyQt 4.6.2 de trabalho com o de 64 bits Python 2.6.1. Eu postei as instruções aqui: http: / /mpastell.com/2009/11/24/pyqt-4-6-2-with-snow-leopard/

Outras dicas

Nos changelogs vejo Phil (mantenedor do PyQt) emitiu correções ontem nos instantâneos de desenvolvimento especificamente para Snow Leopard:

2009/09/14 12:12:49 phil mais correções para o Snow Leopard em 64 bits sistemas. adicionado QObject.pyqtConfigure ().

Você está usando construção de ontem do PyQt?

Esta discussão sobre a lista de discussão é também interessante particularmente.

Os problemas de compilação PyQt parece ser causada por leopardos da neve compila de 64 bits padrão e 64/32 mordeu versão mista de Python ele vem com.

Se as coisas continuarem a correr mal, eu iria apresentar os seus problemas a esta lista de discussão (para que eles possam ficar fixo - espero) e tentar (temporariamente) reconstruir Qt e PyQt (e possivelmente python) de uma forma de 32 bits (com a bandeira -m32 compilador) se você precisar dele trabalhando agora.

Você pode querer usar PyQt do projeto homebrew:. Construção simples, dependências gerenciadas

Executar bem no meu MBP Unibody, todos de 64 bits.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top