Mit QtCreator erstelltes Projekt auf anderem Rechner starten

Alles zu Entwicklungsumgebungen und Editoren für Qt
Antworten
Cassius
Beiträge: 2
Registriert: 17. November 2009 16:02

Mit QtCreator erstelltes Projekt auf anderem Rechner starten

Beitrag von Cassius »

Hallo Leute,

hab im Rahmen meiner Diplomarbeit mit QT zu tun. Leider bin ich kein Crack, weder was das Programmieren noch was Qt im speziellen angeht. Ich hab also eine kleine Anwendung mit QtCreator geschrieben. (Zuerst auf dem Mac hab dann die Klassen all in ein Projekt auf dem Windowsrechner kopiert und wenn ich es per Qt starte läuft alles.)
Jetzt würde ich gerne die *.exe welche QtCreator im release-Ordner erstellt an jemanden senden, damit er dieses Programm starten kann. Mir schwant nun, dass ich heftigen Aufwand vor mir habe. Habe schon die Sache mit dem dependencywalker probiert. mingw-DLL habe ich aus dem bin-Ordner von Qt kopiert und dann auch manuell im Internet die msvcr90.dll gefunden aber mir fehlen immernoch welche. hab mal einen Screenshot gemacht. So kann ich zum Bleistift die QtOpenGL4.dll nirgends finden....

Kann mir jemand sagen wie ich das ganze möglichst einfach so verpacken kann, dass es auf einem anderen Windowsrechner ausführbar wird????
Bitte bedenken, dass ich kein Informatiker bin und der Zeitaufwand dafür wenn es irgendwie geht nicht meine Diplomarbeit und Ihr eigentliches Thema schmälern sollte...

Danke euch für die Gedult alles zu Lesen und auch im Voraus für hilfreiche Tipps. :oops: :(
Dateianhänge
Screenshot vom DependencyWalker
Screenshot vom DependencyWalker
Screen.JPG (209.55 KiB) 8345 mal betrachtet
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Soweit richtig gemacht. Im Qt Ordnersollte es auch die QtGui, QtCore und QOpenGL geben. (QTDIR/qt/lib)

Verstehe nur net was er mit der msvcr will aber gut ;-)

Kannst das ganze noch in eine Installation packen und fertig.

Falls du noch plugins brauchst (SQL, JPG oder andere Image formate musst du die auch noch mitliefern)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

AuE hat geschrieben: Verstehe nur net was er mit der msvcr will aber gut ;-)
Meinst Du die msvcrt90* die er mit reingepackt hat? Die sind überflüssig.
Oder msvcrt.dll? MinGW braucht auch eine ms runtime und das ist schon immer und ewig msvcrt.dll gewesen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Meinte
msvcr90.dll
die-das wäre ja ne abhängigeit aufs VS 2008 (wenn ich richtig gerechnet hab :D ) und die braucht man nicht.

BTW: Ist die eig. nicht standardmäßig mit bei? Oder muss man dazu dieses CRT Installerding einmal ausgeführt haben?
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Re: Mit QtCreator erstelltes Projekt auf anderem Rechner sta

Beitrag von RavenIV »

Cassius hat geschrieben:
Kann mir jemand sagen wie ich das ganze möglichst einfach so verpacken kann, dass es auf einem anderen Windowsrechner ausführbar wird????
Bitte bedenken, dass ich kein Informatiker bin und der Zeitaufwand dafür wenn es irgendwie geht nicht meine Diplomarbeit und Ihr eigentliches Thema schmälern sollte...
Du hast zwei Möglichkeiten.
a) aufwändig. Alle Komponenten (Qt, MinGW, usw) neu kompilieren und dann statisch zu deiner exe hinzu linken. Dadurch wird die exe viel grösser, hat aber alles dabei, was benötigt wird.
b) einfach. Du musst herausfinden, welche DLLs benötigt werden und diese mit ausliefern. Hierbei musst Du allerdings evtl. auf Lizenzen achten.
Linux, das längste Text-Adventure aller Zeiten
Cassius
Beiträge: 2
Registriert: 17. November 2009 16:02

Immernoch feststeckend

Beitrag von Cassius »

Hallo Leute,

danke erstmal für die Tipps. Nun leider bin ich kaum weiter gekommen.
Ich hab jetzt alle QT-DLLs gefunden. Und wenn ich die nacheinander reinkopiere, dann ist bei QtCore4.dll schluss. Und die Anwendung lässt sich komischerweise nicht mal mehr aus dem QtCreator starten.

Zuletzt hatte ich probiert einfach alle DLLs die der Dependency Walker will zusammen zu suschen aber das nimmt kein Ende. Jede DLL die ich Ihm gebe bringt ne neue Abhängigkeit rein, hatte zum Schluss die folgenden:
-mingwm10.dll
-QtCore4.dll
-QtGui4.dll
-QtOpenGL4.dll
-sysntfy.dll
-msvcrt.dll
-ieshims.dll
-ieframe.dll
-gpsvc.dll

Und die sysntfy.dll (obwohl aus dem system32-Ordner kopiert) so meckert der DW ist auch noch ne 64Bit Datei un dpasst somit nicht zu alen anderen. Langsam werde ich total bekloppt. Gibt es kein Plugin für den QtCreator dass den release-Build so macht, dass alles benötigte mitreingepackt wird?
Im Endeffekt startet doch der QtCreator die exe-Datei aus dem release-Ordner meines Projekts oder? Warum startet diese exe über den QtCreator aber nicht wenn ich Sie direkt aufrufe?

Ich glaube ich vertsehe da was grundlegend nicht.... Gibt es da ein brauchbares Tutorial?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Alles was in system(32) ligt, also Windos-DLLs sind muss nnicht kopiert werden!
Wenn du die (richtigen) Qt-Dlls kopierst reicht es.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Herzogswalder
Beiträge: 79
Registriert: 11. Oktober 2009 00:37
Wohnort: Dresden

Beitrag von Herzogswalder »

Übrigens liegen in einem 64bit-Windows die Windows-eigenen 32bit-dlls unter SysWOW64, nicht unter System32 - da liegen die 64bit-Versionen.
:)
Antworten