1 / 1 / 2
Регистрация: 22.04.2015
Сообщений: 27
|
|
1 | |
Запуск Qt/QML приложения вне Qt Creator17.09.2018, 22:17. Показов 5049. Ответов 11
Доброго времени суток,
пытаюсь подготовить свой проект Qt Quick Application для запуска на компьютере без Qt. Qt 5.10.0. Использовал для этого windeployqt.exe: Результат отрицательный: Методом подбора (у меня на компьютере есть Qt версий 5.6, 5.8, 5.10.0) программа запустилась с .dll от Qt 5.8. Хотя сам Qt код говорит, что работает на 5.10.0, как и должно быть. Код завершает свою работу на 30й строке, т.к. не может подгрузить .qml файл первого окна, с которого все и начинается. Внутри .exe файла из всех ресурсных .qml есть только те, что в директории qrc:/QmlComponents/ : Ни из qrc:/, ни из qrc:/QmlComponents/QmlPrimitiveComponents/ ничего нет. Подгрузить qrc:/loginWindow.qml не получается. Содержимое qml.qrc: Использовал: Qt 5.10.0 Qt Creator 4.7.0 32bit MinGW 5.3 32bit windeployqt.exe из "G:\Qt_new\5.10.0\mingw53_32\bin\windeployqt.exe" .exe релизной сборки. Какие могут быть идеи? Почему часть ресурсных файлов отсутствует в сборке?
0
|
17.09.2018, 22:17 | |
Ответы с готовыми решениями:
11
Запуск QML приложения Запуск qml приложения на другом компе Запуск Qt приложений .exe вне Qt Creator Файл Resourse. Запуск приложения вне среды Qt |
17.09.2018, 22:32 | 2 |
По теме деплоя LibraryCollector
Добавлено через 4 минуты Иногда требуется банально очистить проект, перезапустить qmake, перезапустить сборку. У QtCreator вечная проблема с отслеживание измененных файлов, которую почему то никак не фиксят.
0
|
1 / 1 / 2
Регистрация: 22.04.2015
Сообщений: 27
|
|
17.09.2018, 22:35 [ТС] | 3 |
Я начал весь этот процесс с DLL Collector - он не справился.
0
|
1 / 1 / 2
Регистрация: 22.04.2015
Сообщений: 27
|
|
17.09.2018, 22:41 [ТС] | 5 |
Да, Clean all -> Run qmake -> Rebuild all уже стала привычной комбинацией в большинстве непонятных ситуаций, например, когда даже изменения параметра цвета объекта QML не применяется, но, к сожалению, в этот раз не помогает.
Добавлено через 1 минуту Процесс падает только в коллекторе, после деплоймента от windeployqt он выполняется: создает директорию для кеша и выходит на условии if (engine.rootObjects().isEmpty()).
0
|
17.09.2018, 22:43 | 6 |
Значит вероятно это баг.
Добавлено через 1 минуту Подает по тому что пути нужно указывать правильно. Ясен фиг если указать левые пути он будет падать потому что библиотеки не находит.
0
|
1 / 1 / 2
Регистрация: 22.04.2015
Сообщений: 27
|
|
17.09.2018, 22:54 [ТС] | 7 |
Я уже предположил, что возможно придется "поиграться" с директориями ресурсов, раз уж часть из них все же есть в исполняемом файле, но это конечно не слишком красивое решение.
Добавлено через 5 минут Почему Вы решили, что пути неправильные? А для путей к 5.10.0 такой результат: Добавлено через 3 минуты При замене библиотек с 5.10.0 на 5.8, иначе не находит точку входа.
0
|
1 / 1 / 2
Регистрация: 22.04.2015
Сообщений: 27
|
|||||||||||
18.09.2018, 10:55 [ТС] | 9 | ||||||||||
Не работает кнопка toolButtonLibs для выбора директории Qt: нет слота на клик по кнопке.
А так результат тот же, что и со старым коллектором. Буду дальше пробовать искать решение. Добавлено через 27 минут Попробовал деплоить новый пустой дефолтный проект Qt Quick Application:
Буду заново ставить Qt.
0
|
18.09.2018, 12:19 | 10 |
А руками вписать слабо?
Добавлено через 32 секунды Вряд ли поможет. Добавлено через 15 минут Даже предположить не могу что Вы делаете не так.
0
|
1 / 1 / 2
Регистрация: 22.04.2015
Сообщений: 27
|
|
18.09.2018, 22:04 [ТС] | 11 |
Снес с компа все, что было связано с Qt, поставил 5.11.1... Та же проблема с не найденной точкой входа.
В процессе гугления наткнулся на гайд: https://wiki.qt.io/Deploy_an_A... on_Windows Последовал инструкции по "быстрому и грязному" деплою, и произошло чудо Дальше вычищу все лишнее и сравню остаток с тем, что собирал windeployqt.
0
|
41 / 39 / 7
Регистрация: 21.05.2012
Сообщений: 198
|
|
18.09.2018, 23:26 | 12 |
Что-то из первого скриншота в посте не вижу что используется --qmldir опция, надо документацию читать, а не заниматься хренью.
0
|
18.09.2018, 23:26 | |
18.09.2018, 23:26 | |
Помогаю со студенческими работами здесь
12
QT Creator/подключить QML/работать по id QML. Как обратиться к объекту, нарисованному в QT Creator Qt вне qt creator QT Creator падает при открытии файлов *.ui.qml - в дизайнере Запустить .exe вне Qt Creator Qml list model изменение свойств элементов из вне Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |