Seite 1 von 1

Python Wrapper für Qt mit SIP erstellen funktioniert nicht

Verfasst: 31. Juli 2009 08:40
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

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

Verfasst: 7. August 2009 23:26
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