У меня проблема с созданием файла приложения (*.EXE) в Windows. Я создаю простой проект и запускаю QtCreator, результат:
У него нет ошибок и предупреждений. После этого я собираю его с помощью release
, используя комплект Desktop Qt 5.12.1 MSVC2017 64-bit
, я получил релиз папки после сборки с помощью qmlTest.exe
Чтобы продолжить, я развертываю его, чтобы перейти по этой ссылке Развертывание приложений Qt в Windows
Я получил несколько файлов в файле release
моего проекта
Но когда я нажимаю qmlTest.exe
, ничего не появляется, ни ошибок, ни уведомлений об отсутствующих файлах dll. Я проверил process task
, и ни один qmlTest
не был запущен.
Кто может сказать мне, что я был неправ?
Спасибо за вашу помощь!
Попробуйте запустить его после запуска DebugView, чтобы увидеть вывод, который он может вывести: docs.microsoft.com/en-us/sysinternals/downloads/debugview
Win10 больше не кричит громко, когда программа вылетает из-за необработанного исключения. Посмотрите в журнале событий приложения причину сбоя. Верните ОС в режим программирования с советом в этот ответ.
Вам не хватает некоторых папок и файлов, таких как QtQml и QtQuick и т. д. Qt имеет инструмент под названием «windeployqt.exe», чтобы сделать именно это.
Он используется из консоли следующим образом:
windeployqt.exe --dir PATH_TO_DEPLOY --compiler-runtime --release --qmldir PATH_TO_QML MY_EXE
Итак, в вашем случае это будет выглядеть примерно так:
C:\Qt\5.12.1\msvc2017_64\bin\windeployqt.exe --dir C:\Users\...\Desktop\deployFolder --compiler-runtime --release --qmldir C:\Users\...\Desktop\QmlTest\qml C:\Users\...\Desktop\build-qmlTest-Desktop_Qt...-Release\release\qmlTest.exe
После запуска инструмента все нужные вам файлы окажутся в папке deployFolder. Вам просто нужно скопировать исполняемый файл из папки выпуска, и все готово. Дополнительную информацию можно найти здесь: https://doc.qt.io/qt-5/windows-deployment.html
Лучший ответ, это работа для меня, большое спасибо, но вы все еще забываете последний шаг, чтобы скопировать qmlTest.exe
в созданную папку
Причина такого поведения только одна - вы пропускаете какие-то нужные файлы. Я могу только предположить, что вы скучаете по файлам/плагинам QML из
QTDIR/qml
. Вместо этого используйте документ это или вопрос/ответ это.