Seite 1 von 1

problem mit dem QWebview

Verfasst: 31. Januar 2010 13:48
von ali-g
Hallo Leute,

und zwar hab ich ein Problem beim Kompilieren
mit QWebview, also wenn ich kompilieren kommt folgenede Fehlermeldungen:

Code: Alles auswählen

c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x44d): undefined reference to `_imp___ZNK6Phonon11MediaObject5stateEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x474): undefined reference to `_imp___ZN6Phonon11MediaObject5pauseEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x496): undefined reference to `_imp___ZNK6Phonon11MediaObject5stateEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x565): undefined reference to `_imp___ZN6Phonon11MediaObject5pauseEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x590): undefined reference to `_imp___ZNK6Phonon11MediaObject9errorTypeEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x5a1): undefined reference to `_imp___ZN6Phonon11MediaObject5pauseEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x67f): undefined reference to `_imp___ZN6Phonon11AudioOutput8setMutedEb'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x6a8): undefined reference to `_imp___ZN6Phonon11AudioOutput9setVolumeEd'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x711): undefined reference to `_imp___ZNK6Phonon11MediaObject11currentTimeEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x748): undefined reference to `_imp___ZNK6Phonon11MediaObject9totalTimeEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x796): undefined reference to `_imp___ZNK6Phonon11MediaObject10isSeekableEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x7e0): undefined reference to `_imp___ZN6Phonon11MediaObject4seekEx'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x814): undefined reference to `_imp___ZN6Phonon11MediaObject4playEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x834): undefined reference to `_imp___ZNK6Phonon11MediaObject8hasVideoEv'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xa74): undefined reference to `_imp___ZN6Phonon11MediaObjectC1EP7QObject'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xa96): undefined reference to `_imp___ZN6Phonon11VideoWidgetC1EP7QWidget'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xab8): undefined reference to `_imp___ZN6Phonon11AudioOutputC1EP7QObject'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xb05): undefined reference to `_imp___ZN6Phonon10createPathEPNS_9MediaNodeES1_'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xb14): undefined reference to `_imp___ZN6Phonon4PathD1Ev'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xf2d): undefined reference to `_imp___ZN6Phonon11MediaSourceC1ERK4QUrl'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xf3d): undefined reference to `_imp___ZN6Phonon11MediaObject16setCurrentSourceERKNS_11MediaSourceE'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xf46): undefined reference to `_imp___ZN6Phonon11MediaSourceD1Ev'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xf81): undefined reference to `_imp___ZN6Phonon11AudioOutput9setVolumeEd'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0xfec): undefined reference to `_imp___ZN6Phonon11MediaSourceD1Ev'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x1058): undefined reference to `_imp___ZN6Phonon11MediaObjectC1EP7QObject'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x107a): undefined reference to `_imp___ZN6Phonon11VideoWidgetC1EP7QWidget'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x109c): undefined reference to `_imp___ZN6Phonon11AudioOutputC1EP7QObject'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x10e9): undefined reference to `_imp___ZN6Phonon10createPathEPNS_9MediaNodeES1_'
c:/Qt/2009.05/qt/lib/libQtWebKit.a(MediaPlayerPrivatePhonon.o):MediaPlayerPrivatePhonon.cpp:(.text+0x10f8): undefined reference to `_imp___ZN6Phonon4PathD1Ev'

die pro Datei:

Code: Alles auswählen

QT       += webkit

TARGET = InternetBOT
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp

HEADERS  += mainwindow.h

FORMS    += mainwindow.ui

Verfasst: 31. Januar 2010 13:56
von franzf
Vllt musst du explizit phonon mit hinzulinken:
QT += webkit phonon

Verfasst: 31. Januar 2010 16:19
von ali-g
nein sorry habs grad ausprobiert, geht auch nicht.

also wenn ich dann noch


QT += dbus

hinzufüge kommt dann nur noch

c:/qt/2009.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -lQtDBus
collect2: ld returned 1 exit status

Verfasst: 1. Februar 2010 19:40
von ali-g
sry für Doppelpost aber kann mir keiner helfen?

wenn nicht dann muss ich wieder Qt neu installieren


dann hab ich den problem wieder mit dem debug und release version

also Wenn Qt Dynamisch Linkt kann ich Released noch kompilieren, aber
extern mein Programm nicht starten. Als Qt Dynamisch gelinkt war hatte ich dieses Problem mit dem QWebview nicht.


Wenn Qt Statisch Linkt ( also das was ich jetzt hab ich statisch ) kann ich
released kompilieren und extern starten.

Verfasst: 1. Februar 2010 19:49
von Christian81
Warum kannst Du mit dynamischen Linken nicht 'extern' starten? Wo ist das Problem?
Statisches Linken hat immer so seine Tücken und ist für Leute ohne viel Hintergrundwissen teilweise nicht verständlich. Da treten icht nur solche Effekte wie bei dir auf (was etwas mit der Reiehenfolge der zu linkenden Libs zu tun hat) auf sondern ggf. noch ganz andere komische Laufzeitverhalten... also linke dynamsich und fertig.

Verfasst: 1. Februar 2010 20:50
von ali-g
Also wenn ich dynamisch mein Programm Kompilier(Release), Kompiliert es Problemlos ohne Probleme, aber wenn ich dann in das Verzeichnis gehe

z.b

C:\Qt\Projekte\Release\test.exe


ausführe ( also extern ausführe )


kommt der fehler

Der Prozedureinsprung "_Z5qFreePv" wurde in der Dll QtCore4.dll nicht gefunden.


das passiert aber nur in der Release Version.

und als ich dann Qt Deinstalliert hatte und statt dynamisch statisch zu linken versucht hatte ging alles problemlos... Die Debug version und die Release Version.


Also Wenn du eine lösung für den

Der Prozedureinsprung "_Z5qFreePv" wurde in der Dll QtCore4.dll nicht gefunden.

hast dann sag es sonst versuch ich dann wieder dynamisch..

Verfasst: 1. Februar 2010 21:00
von Christian81
Ach das QtCore4.dll Spielchen mal wieder... ist es so schwer die richtige QtCore4.dll zu finden?? :roll:
Schonmal mit DependencyWalker nachgeschaut?

Verfasst: 1. Februar 2010 21:28
von ali-g
dafür muss ich Qt Deinstallieren, wenn ich fertig bin und ein Ergebnis hab sag ich dir bescheid.



EDIT:::

OK jetzt hab ich es


ich hab die Dll´s von


C:\Qt\2010.01\qt\bin

genommen da funktioniert,


die lösung zumindest bei mir ist:

C:\Qt\2010.01\bin !!!!! NICHT qt\bin sondern nur bin

aus PATH zu löschen sons nimmt er die dll´s von den bin ordner statt
den qt\bin ordner.



Weiß dann Irgend jemand wofür dann die dll´s in der BIN datei da sind??

Verfasst: 2. Februar 2010 10:36
von AuE
Jau...... also es gibt mehrere Möglichkeiten DLL's zu speichern. Im Standardordner (system32) oder halt direkt neben der anwendung bzw via PATH kann man es auch machen.

Ich tippe mal das die für ein Qt Tool sind (was dann wohl auf ner älteren Version von Qt aaufbaut).

Verfasst: 2. Februar 2010 12:14
von TSS
Die DLLs im Ordner C:\Qt\2010.01\bin gehören soweit ich weiß zum Qt Creator. Die DLLs besitzen zwar (zumindest jetzt bei Version 4.6.1) die gleiche Versionsnummer, allerdings sind die DLLs vom Creator (warum auch immer) kleiner.