Appl. kann auf anderem Rechner kein jpg-Bild mehr laden
Appl. kann auf anderem Rechner kein jpg-Bild mehr laden
Ich habe eine Applikation ( Qt OpenSource 4.2.1 )geschrieben, die unter Linux und dort, wo ich mein Programm mit MinGW kompiliert habe hervorragend laeuft und genau das macht, was ich will.
Wenn ich das Programm auf einem anderen Windows-XP-SP2-Rechner starte ( ich "installiere" das Programm auf dem anderen Rechner dadurch, dass ich die Applikation.exe selbst, die QT-dlls und die MinGW.dll ins gleiche Verzeichnis auf diesem Rechner kopiere und ausfuehre ),
kann ich zumindest keine .jpg-Bilder mehr laden ( weder mit QImage::load("Bild.jpg") noch mit QImageReader::read( )
( QImageReader::errorString( )meldet "unsopportedImageFormat" ), .bmp funktionieren hingegen da wie dort.
Kann es sein, daß da noch irgendwelche externen Dekoder oder sowas verwendet werden, die auf diesem Rechner einfach fehlen ?
Ist eine eher "nackte" Installation, ohne MSOffice oder andere Bildbearbeitungsprogramme ( ausser MSPaint )
Bin etwas ratlos
Wenn ich das Programm auf einem anderen Windows-XP-SP2-Rechner starte ( ich "installiere" das Programm auf dem anderen Rechner dadurch, dass ich die Applikation.exe selbst, die QT-dlls und die MinGW.dll ins gleiche Verzeichnis auf diesem Rechner kopiere und ausfuehre ),
kann ich zumindest keine .jpg-Bilder mehr laden ( weder mit QImage::load("Bild.jpg") noch mit QImageReader::read( )
( QImageReader::errorString( )meldet "unsopportedImageFormat" ), .bmp funktionieren hingegen da wie dort.
Kann es sein, daß da noch irgendwelche externen Dekoder oder sowas verwendet werden, die auf diesem Rechner einfach fehlen ?
Ist eine eher "nackte" Installation, ohne MSOffice oder andere Bildbearbeitungsprogramme ( ausser MSPaint )
Bin etwas ratlos
schau dir mal http://doc.trolltech.com/4.2/deployment an, dir fehlt das jpg plugin.
(die plugins sind weitere dll's die bei bedarf geladen werden)
(die plugins sind weitere dll's die bei bedarf geladen werden)
Hallo Zandru,
ich habe versucht, das Problem entsprechend dem "How to Create Qt Plugins", Absatz "Static Plugins" zu loesen
Ich habe in meine Projektdatei eingefuegt
Ich habe in meine main.cpp eingefuegt
Jetzt kriege ich ein Problem beim linken:
Was ich unbeachet ließ ist der Hinweis im Howto: "...when compiled as a static library, Qt provides the following static plugins:"
Ich könnte mir vorstellen, dass mein Problem damit zu tun hat, weiß aber
nicht, wie ich tun soll. Ich habe im QtCentreWiki eine Anleitung "Building static Qt on Windows" gefunden, könnte das zur Lösung führen ?
ich habe versucht, das Problem entsprechend dem "How to Create Qt Plugins", Absatz "Static Plugins" zu loesen
Ich habe in meine Projektdatei eingefuegt
Code: Alles auswählen
QTPLUGIN += qjpegCode: Alles auswählen
# include <QtPlugin>
Q_IMPORT_PLUGIN(qjpeg)
Code: Alles auswählen
...pictogrid_main.o(.text+0x3f9):pictogrid_main.cpp: undefined reference to 'qt_plugin_instance_qjpeg()'Ich könnte mir vorstellen, dass mein Problem damit zu tun hat, weiß aber
nicht, wie ich tun soll. Ich habe im QtCentreWiki eine Anleitung "Building static Qt on Windows" gefunden, könnte das zur Lösung führen ?
umm, das mit den static plugins geht nur, wenn du Qt komplett auf Static linking umstellst! (du benutzt ja aber dynamic linking!)
D.h. du musst einfach zusätzlich zu den .dll's die du schon kopiert hast, auch noch die qjpeg*.dll aus dem \plugins\imageformats Verzeichnis deiner Qt-Installation dazukopieren.
D.h. du musst einfach zusätzlich zu den .dll's die du schon kopiert hast, auch noch die qjpeg*.dll aus dem \plugins\imageformats Verzeichnis deiner Qt-Installation dazukopieren.
Hallo Zandru,
vielen Dank fuer Deine Hilfe. Ich hatte diese Idee auch, aber das hat leider nicht zum gewünschten Ergebnis geführt.
Ich habe nun die Qt-OpenSource-Library auf dem betreffenden Rechner installiert und kann auf diese Weite damit arbeiten.
Das Problem ist also zunächst mal gelöst.
Ich vermute, daß da noch irgendwelche Registry-Eintraege erforderlich sind. Ich werd da mal rumprobieren und die Lösung posten, wenn ich etwas erreich habe.
vielen Dank fuer Deine Hilfe. Ich hatte diese Idee auch, aber das hat leider nicht zum gewünschten Ergebnis geführt.
Ich habe nun die Qt-OpenSource-Library auf dem betreffenden Rechner installiert und kann auf diese Weite damit arbeiten.
Das Problem ist also zunächst mal gelöst.
Ich vermute, daß da noch irgendwelche Registry-Eintraege erforderlich sind. Ich werd da mal rumprobieren und die Lösung posten, wenn ich etwas erreich habe.
GELOEST
Ich hatte die plugin-datei "qjpeg1.dll" direkt in das Applikationsverzeichnis kopiert. Das war aber verkehrt. Die Datei muss in das Unterverzeichnis "imageformats\qjpeg1.dll" kopiert werden, dann klappt es auch.
Zandru, Dir noch mal vielen Dank fuer Deine Bemuehungen.
Zandru, Dir noch mal vielen Dank fuer Deine Bemuehungen.