2014-10-10 8 views
5

Wiem, że to prawdopodobnie coś trywialnego, ale nie mogę znaleźć odpowiedzi. Właśnie zakończyłem świeżą instalację Scientific Linux 6.5 - która jest dostarczana z Pythonem 2.6 i Qt 4.6.2. Chciałbym użyć interpretera Python python2.7.8, więc pobrałem to i zainstalowałem. Używam QtDesigner dla ułatwienia przy tworzeniu GUIS, więc potrzebuję powiązań PyQt z tym. Dlatego pobranych SIP-4.16.3, skonfigurowany z:Instalowanie PyQt4.11.2 na Scientific Linux 6.5

python2.7 ./configure (w SIP katalogu download)

aby powiązań do nowszej wersji Pythona. Wszystko do tej pory działa dobrze. I spróbuj zainstalować PyQt4.11.2 w ten sam sposób:

python2.7 ./configure --qmake =/usr/lib/Qt4/bin/QMake -g (aby podnieść wersję Qt4 z qmake z statyczne biblioteki QT)

skrypt configure dopełnia dobrze, ale pojawia się następujący komunikat o błędzie podczas 'make':

błędzie: 'PrintCurrentPage' nie jest członkiem 'QAbstractPrintDialog' ..../Pliki do pobrania/PyQt-x11-gpl-4.11.2/QtGui/sipQtGuiQAbstractPrintDialog.cpp: 1787: błąd: zbyt wiele inicjalizatorów dla 'sipEnumMemberDef' make [1]: * [sipQtGuiQAbstractPrintDialog.o] Błąd 1 zrobić [1]: Opuszczenie katalogu `..../Downloads/PyQt-x11-GPL-4.11.2/QtGui” Producent: * [wszystkie] Błąd 2

jestem w tym momencie trochę zagubiony i przez jakiś czas walę głową, to musi być coś prostego, co przeoczyłem, każda pomoc byłaby świetna.

góry dzięki

+1

Moja opinia: kompilacja qt (i pokrewnego) jest królewskim bólem, a lepiej, jeśli dostaniesz dystrybucję adekwatną do twoich potrzeb, w tym przypadku może anakondę. – mdurant

Odpowiedz

2
  1. Search string 'PrintCurrentPage' w plikach swojej pyqt-pakiecie. Znajdziesz go w 4 plikach.
  2. Usuń odpowiadała linii z ciągiem „PrintCurrentPage”
+1

W najnowszej wersji programu instalacyjnego jest tylko jeden plik (QtGui/sipQtGuiQAbstractPrintDialog.cpp). Właśnie usunąłem linię, w której zadeklarowano PrincCurrentPage i wszystko działało idealnie (dzięki za zasugerowanie tego rozwiązania!). –

+0

@ Néstor To działało dla mnie na Centos6 z pytonem 2.7.11. Jeśli umieścisz to w odpowiedzi, zagłosuję na to – Kevin

1

Znam ten wątek jest stary, ale wpadłem na podobny błąd podczas instalowania PyQt4.11.4 przez źródła na Red Hat Enterprise Linux 5 maszyny.

Skończyło się na dodaniu członków 'PrintShowPageSize = 0x0008' i 'PrintCurrentPage = 0x0040' do definicji klasy QAbstractPrintDialog. Ta definicja klasy C++ znajduje się w pliku nagłówkowym qabstractprintdialog.h. W mojej dystrybucji było to /usr/lib64/qt4/include/QtGui/.

Po dodaniu brakujących elementów ponownie uruchomiłem make bez błędów kompilacji.

Jedynym powodem, dla którego natknąłem się na to rozwiązanie było obejrzenie tej wersji qtabstractprintdialog.hhere. Zauważyłem, że w mojej wersji pliku nagłówkowego brakowało tych elementów w klasie QAbstractPrintDialog.

Nie zainstalowałem jeszcze nowej instalacji PyQt4, więc nie mogę ręczyć za funkcjonalność właśnie teraz. Ale skompilował/zainstalował!