Seite 1 von 1

Problem mit QMovie

Verfasst: 19. März 2006 19:00
von Nassian
Hi,

Ich habe ein Problem bei der Auslieferung eines Programms.
Es wurde unter Linux entwickelt und anschließend unter Windows kompiliert. Das Programm funktioniert auch auf beiden Systemen.

Doch wenn ich es auf einem anderen Windows starte (DLL's wurden kopiert), stürzt es beim Aufruf der start() Methode eines QMovie Objekts ab. Testweise habe ich versucht mir die supportedFormats() auszugeben. Funktioniert und Windows und Linux (gif und mng) aber unter dem Testwindows wird nichts angezeigt.

Hat jemand eine Ahnung was da los ist?

SG Alex

Verfasst: 20. März 2006 18:40
von Esleborn
hast du vllt die plugins aktiviert aber vergessen zu kopieren? (imagesformats)

Verfasst: 20. März 2006 19:44
von Nassian
Dachte ich mir auch schon, aber 1. sind die alle kompiliert (-qt-gif -qt-libjpeg, ...) und 2. hats auch nicht funktioniert als ich die lgif.dll (oder wie genau heißt) kopiert hatte.

SG Alex

Verfasst: 20. März 2006 22:42
von Esleborn
hast du sie vielleicht nicht in einen "imageformats" Ordner kopiert? (Den Fehler hatte nur ich gemacht ;))

-qt-libjpeg etc tat be mir et.,..

Verfasst: 22. März 2006 09:20
von Nassian
Auf dem Zielrechner sollen nur die DLL's landen, nicht die ganze Qt installiert werden.
Meinst du, dass die gif.dll nicht direkt in den gleichen Ordner wie die exe soll, sondern in einen Unterordner imageformats?

Verfasst: 22. März 2006 12:00
von Esleborn
exakt

Verfasst: 22. März 2006 18:26
von Nassian
Wow, es geht. Vielen Dank.

Warum kann ich aber das Programm starten, obwohl eine benötigte DLL fehlt?
Kennst du ein Windowsprogramm (am besten Free oder OSS) mit dem ich die gelinkten DLL's (ala ldd unter Linux) sehe?

Verfasst: 23. März 2006 12:37
von Esleborn
ähm ja, das hier sollte das tun
warum du trotzdem starten kannst? ganz einfach Qt bettet diese plugins nicht "zwingend" ein... nur biem aufrufen von Funkionen aus diesen Plugins ommt es ohne die DLL zum Fehler... da Qt bei Bildern jedoch checkt, welche Formate gelesen werden können (und dabei beachtet welche DLLs es gibt) versucht es gar nicht deine jpeg oder was auch immer zu öffnen. Folglich wird auch kein Code aus der DLL aufgerufen :-B
Zumindest hab ich es mir aus meinen Beobachtungen so zusammengereiemt *g