Qt5 - Почему .exe ничего не запускает при развертывании?

У меня проблема с созданием файла приложения (*.EXE) в Windows. Я создаю простой проект и запускаю QtCreator, результат:

Qt5 - Почему .exe ничего не запускает при развертывании?

У него нет ошибок и предупреждений. После этого я собираю его с помощью release, используя комплект Desktop Qt 5.12.1 MSVC2017 64-bit, я получил релиз папки после сборки с помощью qmlTest.exe

Чтобы продолжить, я развертываю его, чтобы перейти по этой ссылке Развертывание приложений Qt в Windows

Я получил несколько файлов в файле release моего проекта

Qt5 - Почему .exe ничего не запускает при развертывании?

Но когда я нажимаю qmlTest.exe, ничего не появляется, ни ошибок, ни уведомлений об отсутствующих файлах dll. Я проверил process task, и ни один qmlTest не был запущен.

Кто может сказать мне, что я был неправ?

Спасибо за вашу помощь!

Причина такого поведения только одна - вы пропускаете какие-то нужные файлы. Я могу только предположить, что вы скучаете по файлам/плагинам QML из QTDIR/qml. Вместо этого используйте документ это или вопрос/ответ это.

folibis 08.04.2019 16:03

Попробуйте запустить его после запуска DebugView, чтобы увидеть вывод, который он может вывести: docs.microsoft.com/en-us/sysinternals/downloads/debugview

Mitch 08.04.2019 17:32

Win10 больше не кричит громко, когда программа вылетает из-за необработанного исключения. Посмотрите в журнале событий приложения причину сбоя. Верните ОС в режим программирования с советом в этот ответ.

Hans Passant 09.04.2019 14:42
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
239
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам не хватает некоторых папок и файлов, таких как QtQml и QtQuick и т. д. Qt имеет инструмент под названием «windeployqt.exe», чтобы сделать именно это.

Он используется из консоли следующим образом:

windeployqt.exe --dir PATH_TO_DEPLOY --compiler-runtime --release --qmldir PATH_TO_QML MY_EXE
  • PATH_TO_DEPLOY: пустая папка, куда вы хотите скопировать зависимости
  • PATH_TO_QML: папка, в которой у вас есть файлы 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 в созданную папку

Chinh Nguyen Huu 09.04.2019 16:38

Другие вопросы по теме