Python Wrapper für Qt mit SIP erstellen funktioniert nicht

Verschiedenes zu Qt
Antworten
fabber
Beiträge: 1
Registriert: 30. Juli 2009 14:05

Python Wrapper für Qt mit SIP erstellen funktioniert nicht

Beitrag von fabber »

Hallo,

ich versuche seit einigen Tagen, eins der Beispiele von SIP zum laufen zu bekommen. Bislang leider ohne Erfolg.

Eigentlich habe ich bei allen Beispielen immer das gleiche Problem: make bricht beim linken ab, weil die Lib -l* nicht gefunden werden konnte. Der * steht jeweils für die den namen der jeweiligen sip files (also bei qtermwidget.sip -> -lqtermwidget).

Für dieses Beispiel: http://www.rkblog.rk.edu.pl/w/p/making- ... dgets-sip/

Rufe ich die folgenden Befehle hintereinander auf:

Code: Alles auswählen

qmake
make
make install

sip -t Qt_4_4_1 -I /usr/share/sip/PyQt4/ -t WS_X11 -c . *sip
python config.py
make
make install
Dazu wird die folgende Fehlermeldung ausgegeben:

Code: Alles auswählen

g++ -shared -Wl,-rpath,/usr/lib -Wl,--version-script=QTermWidget.exp -o QTermWidget.so sipQTermWidgetcmodule.o sipQTermWidgetQTermWidget.o -L/usr/lib -L/usr/X11R6/lib -lqtermwidget -lQtCore -lQtGui -lXext -lX11 -lm -lpthread
[b]/usr/bin/ld: cannot find -lqtermwidget[/b]
collect2: ld returned 1 exit status
make: *** [QTermWidget.so] Error 1
Kann mir jemand dabei helfen? Ich bin für jeden Tipp dankbar.

Hier noch ein paar Details:

-> die Beispiele aus der SIP Dokumentation funktionieren bei mir alle nicht
-> SWIG funktioniert ohne Probleme, da habe ich aber keine Unterstützung für Qt
-> Die Qt-Version die SIP per Parameter bekommt habe ich aus dieser Datei:

Code: Alles auswählen

/usr/lib/python*/site-packages/PyQt4/pyqtconfig.py
Inhalt:

Code: Alles auswählen

# These are installation specific values created when PyQt4 was configured.
 41 _pkg_config = {
 42     'pyqt_bin_dir':      '/usr/bin',
 43     'pyqt_config_args':  '',
 44     'pyqt_mod_dir':      '/usr/lib/python2.5/site-packages/PyQt4',
 45     'pyqt_modules':      'QtCore QtGui QtHelp QtNetwork QtOpenGL QtScript QtSql QtSvg QtTest QtWebKit QtXml QtXmlPatterns QtAssistant QtDesigner',
 46     'pyqt_sip_dir':      '/usr/share/sip/PyQt4',
 47     'pyqt_sip_flags':    '-x VendorID -t WS_X11 -x PyQt_NoPrintRangeBug -t Qt_4_4_1 -x Py_v3 -g',
 48     'pyqt_version':      0x040502,
 49     'pyqt_version_str':  '4.5.2',
 50     'qt_data_dir':       '/usr/share/qt4',
 51     'qt_dir':            '/usr',
 52     'qt_edition':        'free',
 53     'qt_framework':      0,
 54     'qt_inc_dir':        '/usr/include/qt4',
 55     'qt_lib_dir':        '/usr/lib',
 56     'qt_threaded':       1,
 57     'qt_version':        0x040403,
 58     'qt_winconfig':      'shared'
 59 }
-> Ich habe es auf Debian (etchandahalf) mit den sip/pyqt paketen aus Debian verucht
-> auch die selbst compilierten Pakete haben nicht funktioniert.

Grüße aus Freiburg
Fabian
ht-docs
Beiträge: 1
Registriert: 7. August 2009 21:53

Re: Python Wrapper für Qt mit SIP erstellen funktioniert nic

Beitrag von ht-docs »

fabber hat geschrieben:

Code: Alles auswählen

g++ -shared -Wl,-rpath,/usr/lib -Wl,--version-script=QTermWidget.exp -o QTermWidget.so sipQTermWidgetcmodule.o sipQTermWidgetQTermWidget.o -L/usr/lib -L/usr/X11R6/lib -lqtermwidget -lQtCore -lQtGui -lXext -lX11 -lm -lpthread
[b]/usr/bin/ld: cannot find -lqtermwidget[/b]
collect2: ld returned 1 exit status
make: *** [QTermWidget.so] Error 1
Kann mir jemand dabei helfen? Ich bin für jeden Tipp dankbar.
make a symbolic link to libqtermwidget.so in /usr/lib/, then ldconfig
or use LD_LIBRARY_PATH env variable to determine the path to the library
Antworten