QT 4.7 dependencies

Alles rund um die Programmierung mit Qt
Antworten
QTFutzi
Beiträge: 2
Registriert: 19. November 2008 20:06

QT 4.7 dependencies

Beitrag von QTFutzi »

Hallo, ich habe ein kleines Problem, ich habe mit dem QTCreator 4.7 (neu installiertes Windows 7 64Bit) Ein Programm erstellt.

Es geht hauptsächlich um folgenden Quellcodeabschnitt:

Code: Alles auswählen

    QBuffer buffer(&OriginalBytes);
    buffer.open(QIODevice::WriteOnly);
    originalImage = QPixmap::grabWindow(QApplication::desktop()->screen()->winId()).toImage();
    originalImage.convertToFormat(QImage::Format_Mono);
    originalImage.save(&buffer,"JPG",10);
    buffer.close();
    ZippedBytes = qCompress(OriginalBytes,9).toBase64();
Der Code funktioniert auch reibungslos. Ich habe nun das Programm und die DLLs:
  • libgcc_s_dw2-1.dll
    mingwm10.dll
    phonon4.dll
    QtCore4.dll
    QtGui4.dll
    QtNetwork4.dll
    QtWebKit4.dll
    QtXmlPatterns4.dll
auf einen Stick geschoben, bin an einen anderen Rechner gegangen (Win 7 32 Bit) und die "OriginalBytes" sind irgendwie leer. Ich hab mir immer die ZippedBytes ausgeben lassen, wobei der zip-header zu erkennen ist. Ich habe dann mit dem dependencywalker mal geschaut ob noch etwas fehlt->gpsvc.dll und IEShims.dll, wobei mir die gpsvc.dll nur in 64 bit vorliegt. Brachte jedoch beides keine Verbesserung.

Was nun aber wunderlicht ist, ich habe QTCreator auf dem anderen Rechner installiert, und das Programm hat sofort funktioniert (starten aus dem QTCreator bzw. Quellcode debuggen war nicht nötig, mein Verzeichnis mit den DLLs hat funktioniert). Wie soll ich das denn nun debuggen wenn das programm durch die Installation läuft? :D

Gibt es irgendwelche enviroment vars die ich setzen muss? Was kann ich sonst noch tun? Ich habe nur noch einen Rechner wo noch kein QTCreator installiert ist und wo das Programm die Macke hat. Kleine Test mit screencount ausgeben etc. habe ich auch schon probiert. Das verwunderliche ist ja nur das nach der QTCreator installation (ohne neustart) das Programm aus meinem Verzeichnis funktioniert.

Was habe ich übersehen? =( Wird irgend eine art Mainfest Datei benötigt? Ich benutze noch nicht all zu lange Qt...

Vielen Dank für jede Hilfe!!!
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Das kommt alle paar Wochen..

Forensuche nach "JPG" hätte ebenso zum Ziel geführt wie die Doku Deployment.

Aber ich machs kurz: Bilder-Formate sind sinnvollerweise in Plugins untergebracht. Du brauchst in deiner Applikation neben den DLLs noch den Ordner "imageformats" (andere Plugin-Ordner siehe http://doc.qt.nokia.com/4.7/plugins-howto.html) und darin das JPG-Plugin (guckst du unter QT_DIR/plugins/...)

hth..

[EDIT]
Wenn ich schon eine Kurzanleitung schreibe, sollte sie evt. auch vollständig sein: ich vergass noch "addLibraryPath(..)"-Aufruf.. siehe http://doc.qt.nokia.com/4.7/deployment- ... qt-plugins
QTFutzi
Beiträge: 2
Registriert: 19. November 2008 20:06

Vielen Dank

Beitrag von QTFutzi »

Hach wenn man darauf erstmal kommt das es am jpeg liegt =(

Ich dachte die ganze Zeit es fehlt eher etwas um den Bildschirm zu graben. Vielen Dank. Nun bin ich auch fündig geworden! Danke!!!

http://www.qtforum.de/forum/viewtopic.php?t=10639
Antworten