Seite 1 von 1
QImage::save() geht unter Win XP nicht
Verfasst: 26. Oktober 2009 21:09
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
Verfasst: 26. Oktober 2009 22:00
von Christian81
Als was für ein Format? Ist das Format ggf. ein Plugin und du hast es nicht mitgeliefert?
Verfasst: 26. Oktober 2009 22:05
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?
Verfasst: 26. Oktober 2009 22:16
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.
Verfasst: 26. Oktober 2009 23:04
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() ?
Verfasst: 26. Oktober 2009 23:30
von Jacky2k
Spuckt mir folgendes aus:
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?

Verfasst: 26. Oktober 2009 23:46
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:
Dann gehts

Verfasst: 27. Oktober 2009 10:12
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
Verfasst: 27. Oktober 2009 10:49
von chrislo1976
Hallo!
Guckst du unter:
Deploying Qt Applications
in der wirklich guten Doku!
Gruß,
Christian