Unsolved Release einer kleinen Software unter Win10
-
Hallo Forum,
ich habe seit Qt4 nicht mehr programmiert aus zeitlichen gründen. Nun wollte ich für mich ein kleines Programm für zuhause schreiben. Im Debug Modus läuft alles reibungslos (Qt 5.7.0 Creator 4.1.0) ich habe im Release Ordner alle *.dll eingefügt die man für die *.exe benötigt. Nun wenn ich das Programm starte wird es von windows abgebrochen. Das QMainWindow sehe ich noch und kann über das Menü ein neues QDialog öffnen. Nachdem ich aber über das Menü ein QDialog aufrufe und einen Ablauf starte (QDir,QFiles,QTextStream,QString[x]) bricht mir das Programm mit
folgender Anweisung ab: *.exe funktioniert nicht mehr -> Debuggen: "An unhandled win32 exception...'Just-in-time debugging, errors'Über Dependency Walker bekomme ich folgende Module angezeigt "API-MS-WIN-CORE-..........DLL
Die *.dll sind alle von QT5CORE.DLL betroffen, die ja wieder zum jeweiligen OS gehören.
Ich weis noch das ich mit Qt4 nicht solche Probleme unter Win7 hatten. Nun möchte ich das unter Win10 zum laufen zu bringen.Hat sich bei Qt5 was geändert, dass ich jetzt falsch mache?
Vielleicht kann mir der eine oder andere bei dem Problem helfen. Google hab ich schon bemüht aber ganz so schlau werde ich da nicht so draus.
Gruß
Alex
-
Hallo! Ich würde mal stark vermuten das du einen Programmierfehler in deinem Programm hast, der undefiniertes Verhalten verursacht. Dann stürzt das Programm nämlich unter den einen Bedingungen ab und unter anderen nicht, je nachdem wie der Mond gerade steht.
-
Beim Übergang auf Qt5 hat es eine Änderung gegeben. Du brauchst einerseits die benötigten dlls, aber ausserdem noch die QPA plugins
Schau dir einmal das Deployment-Tool an. Ich muss allerdings zugeben, dass ich dies selbst noch nie eingesetzt habe.
Ausserdem gibt es noch einen wiki-Eintrag. Dort findest du unter Quick & Dirty die Methode alle Plugin-Folder zu kopieren. Im Endeffekt genügt oft das Platforms-Folder,aber da musst du halt einmal schauen. Wichtig ist nicht den Inhalt der Folder einfach in das Folder mit deiner exe kopieren, sondern jeweils die sub-folder anlegen und den jeweiligen Inhalt da hineinkopieren.
-
An einen Programmierfehler dachte ich auch, aber kam von dem wieder weg da ich den Vorgang im Debug-Modus ohne Probleme nicht habe. Erst im Release kommt es zu dem Problem. Hab die Ordnerstruktur (Quick&Dirty) auch so gemacht und das Programm startet auch mit dem QMainWindow. Also müssten alle benötigten *.dll vorhanden sein.