Qt Anwendung auf anderem PC. Qt5Core.dll: "APPCRASH"



  • Guten Abend,

    ich wollte eine Anwendung die ich in C++ (mit Qt) geschrieben habe auf einem anderen Computer lauffähig machen.

    Ich habe die Anwendung aus dem release-Ordner und die dafür nötigen DLL-Dateien in einen Ordner getan. Auf meinem Computer (Windows 10) Funktioniert alles. Auf anderen Computern (Windows 10 und Windows 7) jedoch nicht. Woran kann das liegen?

    Diese Meldung erscheint wenn man versucht die Anwendung zu starten:

    "This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem."

    Und:

    Problemsignatur:
    Problemereignisname: APPCRASH
    Fehlermodulname: Qt5Core.dll
    Ausnahmecode: c0000602
    Fehlermodulversion: 5.12.0.0
    Ausnahmeoffset: 000000000038ad51
    Gebietsschema-ID: 1031
    Zusatzinformation 1: c601
    Zusatzinformation 2: c6019c961260c75aeec38c1385717178
    Zusatzinformation 3: 14f0
    Zusatzinformation 4: 14f0a773f2fab608103af507afbf2d19

    Dann habe ich es versucht, indem ich den Ordner "platforms" unter QtCreator/bin/plugins mit in den Ordner mit der Anwendung und den Plugins reinkopiere. Nun scheint erscheint ein anderes Problem (Windows 10):
    https://bilderupload.org/image/a43065178-fehler-win10-kopie.png

    Einen schönen Abend noch



  • Ich brauche im allgemeinen diese hier:

    • libgcc_s_seh-1.dll
    • libstdc++-6.dll
    • libwinpthread-1.dll
    • Qt5Core.dll
    • Qt5Gui.dll
    • Qt5Network.dll
    • Qt5PrintSupport.dll
    • Qt5Widgets.dll
    • platforms/qwindows.dll

    Ohne Garantie der Vollzähligkeit. Dein Bild konnte ich leider nicht öffnen.



  • Qt bietet auch ein tool an um alle benötigten abhängigkeiten in ein Verzeichnis zu packen.

    https://doc.qt.io/qt-5/windows-deployment.html



  • @It0101, danke aber leider funktioniert es immer noch nicht.

    @firefly, das klingt gut! Leider bekomme ich das nicht hin.

    Ich habe die Commandozeile geöffnet und wollte in den Ordner plugandpaint navigieren:

    cd c:\Qt\Qt5.12.0\Examples\Qt-5.12.0\widgets\tools\plugandpaint

    Danach habe ich qmake ausgeführt und folgendes in die CMD eingegeben:
    nmake clean

    die Commandozeile sagt mir "Der Befehl "nmake" ist entweder falsch geschrieben oder konnte nicht gefunden werden".

    Kann bitte jemand einem verzweifeltem Noob wie mir helfen?



  • @DerDaVinciKot
    Probiere doch mal bitte das Tool windeployqt aus, welches Teil von Qt ist.

    Qt for Windows - Deployment



  • Geil, es funktioniert! Danke sehr.

    Ich habe es mit windeployqt hinbekommen:
    cd C:\Qt\Qt5.12.0\5.12.0\mingw73_64\bin
    windeployqt.exe I:\Files\MeineAnwendung.exe

    Nochmal vielen Dank und einen schönen Abend noch

    //EDIT:
    beim zweiten Test funktioniert es leider nicht. Ich habe die DLL-Dateien und Ordner gelöscht und das gleiche mit windeployqt wiederholt. Es werden auch allerlei Dateien in den Ordner kopiert und alles sieht in Ordnung aus. Beim Ausführen der Anwendung erscheint aber eine Fehlermeldung, das die Datei libgcc_s_seh-1.dll fehlt. Nach dem manuellen hinzufügen der Bibliothek, erscheint nun eine andere Fehlermeldung:
    "Die Anwendung konnte nicht korrekt gestartet werden (0xc000007b). Klicken Sie auf "OK", um die Anwendung zu schließen. Hm?

    //EDIT:
    Ich habe nun folgende Dateien nochmal manuell in den Ordner mit der Anwendung kopiert bzw. ein Teil der Bibliotheken die mit windeployqt angelegt wurden überschrieben:

    libgcc_s_seh-1.dll
    libstdc++-6.dll
    libwinpthread-1.dll
    Qt5Core.dll
    Qt5Gui.dll
    Qt5Widgets.dll

    Und nun funktioniert alles.
    Kann mir das jemand erklären? Denn grundsätzlich müsste es doch die gleichen Bibliotheken sein die windeployqt angelegt hat? Und wieso hatte er die Bibliothek libgcc_s_seh-1.dll nicht mit in den Ordner kopiert?



  • Ich habe versucht die Anwendung auf einem Windows 7 PC zu öffnen. Leide wollte er die Anwendung nicht öffnen und hat eine Fehlermeldung ausgegeben (habe leider vergessen was dort stand, es war jedenfalls nicht sehr hilfreich.

    Gibt es noch andere Voraussetzungen auf einem PC um eine Qt-Anwendung lauffähig zu machen, neben den dazugehörigen DLL-Dateien?



  • Wie sollen wir das wissen, ohne konkrete Fehlermeldung?
    Aber evtl. 32/64bit-Problem ("Bad Image")?



  • Da ist natürlich was dran.

    Die Fehlermeldung war sehr allgemein und gab nicht wirklich einen Aufschluss. "Bad Image" war es jedenfalls nicht - da wie gesagt nichts konkreteres angegeben wurde.

    Ich formuliere die Frage mal anders:
    Gibt es offizielle Systemvoraussetzungen, neben den Qt-Bibliotheken?


Anmelden zum Antworten