Der Scheiss mit QtCore4.dll und QtGui4.dll funktioniert nicht woanders
-
C:/Qt/<Qt-Version>/bin/
Einfach mal Google konsultieren...
-
da hab ich ja geholt
-
irgendwas mit Prozedureinsprungpunkt fehlt. So ne Fehlermeldung kommt immer.
-
Wenn bei dir etwas nicht klappt, hast du wohl etwas falsch gemacht, denn eigentlich ist das ganze ziemlich einfach.
Du musst nur die Qt Bibliothek und dein Programm mit dem selben Compiler kompilieren, anschließend (eventuell unter Zuhilfenahme des Depency Walkers) nachsehen welche DLLs dein Programm wirklich braucht, und genau diese dann eben mitliefern.
Nachlesen kannst du das nochmal hier:
http://doc.qtsoftware.com/4.5/deployment.html
-
es hilft eventuell auch, den bin-Pfad der Qt-Version in die PATH-Umgebungsvariable in Windows einzutragen
-
hilfsGast schrieb:
es hilft eventuell auch, den bin-Pfad der Qt-Version in die PATH-Umgebungsvariable in Windows einzutragen
Das schafft nur noch mehr Probleme - eigentlich ist ein Qt im PATH die Ursache für diesen Fehler, es werden Qt-Versionen (die im PATH + die evtl. mitgelieferte) gemischt.
-
Ich arbeite mit dem Qt-Creator und wenn ich ein Programm, welches ich in der Releaseversion kompiliert habe, selbstständig laufen lassen möchten, dann muss ich folgende DLLs ins Startverzeichnis des Programms kopieren:
Qt\2010.04\mingw\bin\mingwm10.dll
Qt\2010.04\mingw\bin\libgcc_s_dw2-1.dll
Qt\2010.04\qt\bin\QtCore4.dll
Qt\2010.04\qt\bin\QtGui4.dllJe nach dem welche Funktionalitäten du nutzt können die Libs auch variieren.
Gruß Blue-Tec
-
Durchsuch deinen Qt-Ordner mal nach den von dir genannten Dateien. Du wirst von jeder *zwei* Versionen finden. Ich weiß nicht genau, warum es zwei Versionen gibt, aber ich weiß, dass du nur mit einer davon arbeiten kannst. Bei mir ist das stets die größere Version der dll-Datei. Nimmst du die falsche der zur Auswahl stehenden Dateien, erhälst du die von dir genannte Fehlermeldungen.
Die Tatsache, dass das Programm auf deinem PC läuft, wird wohl daran liegen, dass auf deinem PC generell Zugriff zu den richtigen Qt-dll-Dateien besteht (vielleicht liegen sie irgendwo im Windows-Ordner oder sind per Umgebungsvariable erreichbar). Auf dem anderen PC muss das Programm dann Vorlieb mit den falschen dlls nehmen.
-
Schon mal von Debug auf Release umgestellt? Denn die größeren DLLs sind normalerweise für die Debugversion des Programms.
-
Die Debug-dlls haben bei mir ein zusätzliches "d" im Namen ("QtGuid4.dll" usw.) - ich vermute zumindest, dass sie das sind. Von diesen habe ich übrigens jeweils nur eine.
-
Langi schrieb:
Schon mal von Debug auf Release umgestellt? Denn die größeren DLLs sind normalerweise für die Debugversion des Programms.
Nein, die meint er nicht. Es gibt zwei Release DLLs einmal die für die selbstkompilierten Programme und einmal die die der Qt-Creator nutzt, die unterscheiden sich auch von der Größe.
Gruß Blue-Tec