Qt Creater Release Version RuntimeError Visual C++ Runtime

Niv k

Mitglied
Hallo an alle,

es ist wirklich zum ausrasten gerade. Ich möchte gerne mein Qt-Programm auf einem anderem Computer ausführen.
Erstellt mit Qt-Creator MinGw. Hab also die erstelle exe genommen, alle dll's, die auf meinem PC als "fehlend" benannt wurden in den Ordner verschoben und das ganze auf einen Stick kopiert.

Nun also zum anderen Compueter und mal wieder ein schöner Microsoft Error, der einem (oder zumindest mir) NICHTS aber wirklicht gar nichts darüber sagt was denn nun das ****** Problem ist.

Die Meldung gibt folgendes aus:
"This application has requested the Runtime to terminate it in an unusual way"

Das ist wirklich sehr nervig. Ich habe schon die C++ Runtime installiert, alle möglcihe msvc.dll's in den Ordner kopiert. Aber es hilft nichts. Mir ist klar, dass es bei mir vermutlich läuft weil ich den QCreator (Qt5) und Visual Studio installiert habe. Nur wie soll ich jetzt bitte wissen, was er haben will? Ich habe schon in dem "DepencyWalker" geladen und für den ist auch alles ok.
Wenn jemand das Problem kennt, bitte Hilfe, ist wirklich wichtig!

Informationen:
- Qt ist dynamisch gelinkt
- Qt Creator auf neues Projekt -> QtGUIApllication
- Qt Creator keine Einstellungen geändert
- Qt kompiliert wird mit dem dazugelieferten MinGW (Qt 5 + Creator war ein Downloadpacket, das alles automatisch installiert)
- Benutze: QtCore,QtGui,QtWidget,QtXML (dll's auch kopiert.)
- Falls das relevant ist: Habe den 'Fusion' Style geladen.
- Zum Release bild im Qt Creator auf Erstellen-> Release gestellt und auf "Erstellen"
- Es läuft weder auf einem anderen Windows 7 Rechner noch auf einem XP-Rechner. Bei beiden ist kein Visual Studio oder ähnliches installiert

Vielen Dank im Vorraus!
 
Hallo

Es gibt keinen Grund hier auszurasten. Der Grund warum du damit nichts anfangen kannst ist weil dein Programm offenbar kein oder nur ein äusserst mageres Fehlerhandling aufweist, da kann aber weder Qt noch Microsoft etwas dafür.

Die runtime library scheint irgendwo eine assertion zu treffen, die nicht erfüllt ist und teilt dir das entsprechend mit, da dein Programm aber darauf nicht reagiert wird das ganze ans Betriebssystem weitergeleitet das natürlich sagt "Ist mir doch egal, ich schiess dich einfach ab.".

Soweit dazu. Du verwendest Qt5, hast du einen entsprechenden platforms-Ordner angelegt beim anderen Benutzer in dem die qwindows.dll drin ist? Ohne das geht in der Regel nichts.

Grüsse
Cromon
 
Entschuldige bitte, ich wollte nicht cholerisch wirken. Ich hatte nur nach 3 Stunden mit USB Stick Treppenlaufen und gefühlten 1000 Google-Treffern durchsuchen eine entsprechende Laune.

Nun ich habe bei meinem Projekt wie gesagt keine besonderen Einstellungen getroffen. Eine QWindows.dll habe ich gar nicht entdeckt? In wie weit wird diese verwendet? Ich werde mal im Ordner nachsehen und diese zu der exe kopieren.
Ob ich eine entsprechende Fehlerbehandlung eingebaut habe, weiß ich nicht. Ich habe Fehler abgefangen, jedoch keine windowsspezifischen. Was würde denn darunter fallen?
Die Application ist noch nicht wirklich groß und ich kann nichts entdecken, dass im Code auf den Fehler hinweißt. Nach was muss ich suchen?

Gruß
Niv'k
 
Ok,

also laut dem Thread muss ich einen Ordner "platforms" zu der exe hinzufügen und darin die qwindows.dll packen, richtig?

Muss ich nichts im Creator ändern oder ähnliches?
Die qwindows.dll habe ich gefunden.

EDIT:
Hier mal ein Bild, wie der Ordner jetzt aussieht:
Unbenannt.jpg
 
Zuletzt bearbeitet:
Häng einen Debugger an die Datei ran und schau was denn da überhaupt das Problem ist. Dazu kannst du Visual Studio (Remote debugging) oder ollydbg oder ein anderes Programm verwenden.

Alles andere sind einfach so Schüsse ins Blaue hinaus.
 
Welche .dlls hast du genommen? Aus welchem Verzeichnis hast du sie zur .exe kopiert? Die Compilerversionen sind inkompatibel, d.h. du darfst ausschliesslich die Dateien aus dem minGW-Verzeichnis kopieren.

Im Beispiel: Nimm die Datei aus mingw/bin. Leider habe ich das Qt 5 noch nicht richtig angeschaut :-(

Gruss
cwriter
 

Anhänge

  • Info.JPG
    Info.JPG
    17,9 KB · Aufrufe: 8
Ich hab die DLL's aus
"C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin" genommen.

Ich habe mal den ollydbg installiert und auf dem Laptop (wo das Problem besteht) angemacht und 2 Screenshots gemacht vom Debugger. Da stand irgendwas mit "Exception" und "Exception is non continueable", also hat er was gefunden. Ich habe leider keine Ahnung von diesem Maschinencode befehlen, ich hoffe ihr könnt damit etwas anfangen.

Was aber auffällig war: Er hat extrem lange gebraucht um die "ntdll" zu laden und auch an einer Stelle wo was davon steht, hält der an.

Da hält der Debugger am Anfang automatisch an, steht aber nichts von Exception:
Debugger.jpg

Hier hält er an wenn ich auf weiter ausführen geklickt habe, dann steht unten auch eine Exception:
Debugger 2.jpg

Hoffe das hilft euch.
Vielen Dank!
 

Neue Beiträge

Zurück