QImage::save() geht unter Win XP nicht

Alles rund um die Programmierung mit Qt
Antworten
Jacky2k

QImage::save() geht unter Win XP nicht

Beitrag von Jacky2k »

Hallo,
bin hier total am verzweifeln und brauche dringend eure Hilfe.
Habe Visual Studio 2008 Pro unter Windows 7 Pro laufen zusammen mit Qt 4.5.2. Unter Win7 läuft auch alles wunderbar, nur unter Windows XP nicht.
Also das Programm startet macht auch alles mögliche übers Netzwerk, läd html Seiten und Bilder runter. Ich kann auch Dateien mit QFile speichern.
Wenn ich jedoch versucht ein Bild welches sich in einem QImage befindet abzuspeichern mit save() gibt er mir ein false zurück.
Einfache Frage: Warum und wie sorge ich dafür, dass es geht?

Noch ein paar Zusatzinfos:
Qt ist als dll-gebaut, das Projekt wurde als Release gebaut und es wurden folgende Dateien mit auf den XP Rechner kopiert:
Das Manifest, msvcr90.dll, QtCore4.dll, QtGui4.dll, QtNetwork4.dll
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Als was für ein Format? Ist das Format ggf. ein Plugin und du hast es nicht mitgeliefert?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Jacky2k

Beitrag von Jacky2k »

Ich habe es mit tif, jpg, png und bmp probiert, geht alles nicht.
Was fürn Plugin brauche ich da und wo finde ich den?
Jacky2k

Beitrag von Jacky2k »

Hmm...bin grade mal mit dem depends tool rüber gegangen und er sagt mir, dass es an direkten Abhängigkeiten nur die gibt, die ich mit beigefügt habe und natürlich die kernel32.dll.
Dann meckert er (allerdings auf beiden Systemen) an, dass er die IEHIMS.SLL und WER.DLL nicht finden kann. Sollte aber nicht das Problem sein.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Da weder png noch bmp als Plugin vorliegen sondern direkt in Qt vorliegen liegt es daran nicht. Hast du Schreibrechte im Pfad wo die Dateien liegen sollen. Was sagt QImageReader::supportedImageFormats() ?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Jacky2k

Beitrag von Jacky2k »

Spuckt mir folgendes aus:

Code: Alles auswählen

bmp
pbm
pgm
png
ppm
xbm
xpm
Und das könnte das Problem sein, warum ist da kein jpg bei???
Denn die Bilder die ich ausm Netz bekomme sind jpgs! Isses das evtl? ;)
Jacky2k

Beitrag von Jacky2k »

Ok, ich habs.
Entweder Qt auf dem Rechner installieren bzw mindestens den plugins Ornder rüber kopieren und die QTDIR Umgebungsvariable (glaub so hieß die) setzen oder den plugins Ornder mit zur exe kopieren und dann in der main() das noch mit aufrufen:

Code: Alles auswählen

app.addLibraryPath("./plugins");
Dann gehts :)
N¤X
Beiträge: 77
Registriert: 21. September 2009 12:24

Beitrag von N¤X »

Hm, also ich hatte auch mal das Problem, dass meine kompilierten Programme keine Bilder öffnen konnten auf Rechnern auf denen Qt nicht installiert ist. Hab mich dann aber erstmal nicht weiter drum gekümmert, weil das Projekt eh noch nicht fertig war (und ist ^^").
Und ich hab hier vor ein paar Wochen glaub auch schonmal was gelesen wo einer ein ähnliches Problem hatte, ders auch gelöst bekommen hat.
Also scheinbar taucht das zwar in den Dependencies nirgends auf und wird auch sonst nirgends erwähnt (nichtmal in der eigentlich guten Doku), aber scheinbar muss man außer der qtcore und der qtgui DLL auch noch die entsprechenden DLLs aus %QTDIR%plugins\imageformats mitliefern.
Ich finde das sollte man zumindest mal irgendwo erwähnen bevor jeder das selber rausfinden muss Oo
chrislo1976
Beiträge: 105
Registriert: 24. Februar 2008 09:45

Beitrag von chrislo1976 »

Hallo!

Guckst du unter:
Deploying Qt Applications
in der wirklich guten Doku!

Gruß,
Christian
Antworten