Название: Qt5.5 beta apps deploying Отправлено: Mike-Aiki от Май 18, 2015, 11:15 Попробовал недавно вышедшую Qt 5.5 beta, x86, mingw492. Простое тестовое приложение с несколькими виджетами без WebKit вроде как не требует icu-библиотек для автономного запуска, обошелся стандартным набором dll:
libgcc_s_dw2-1.dll libstdc++-6.dll libwinpthread-1.dll platforms/qwindows.dll Qt5Core.dll Qt5Gui.dll Qt5Widgets.dll Запускается везде. А вот с QML-приложениями какая-то чехарда. На домашнем компе W7Pro x64 приложение (Qt Quick 2.2) запускается с набором dll libgcc_s_dw2-1.dll libstdc++-6.dll libwinpthread-1.dll platforms/qwindows.dll Qt5Core.dll Qt5Gui.dll Qt5Widgets.dll Qt5Network.dll Qt5Qml.dll Qt5Quick.dll - (интересно, что в зависимостях exe нет, но без него просто висит в процессах, и все) . На других компах не смог запустить. Приложение не ругается ни на что при запуске, просто висит тихо в процессах, на экран ничего не выводится. Так и не понял, что же ему надо еще... :) Название: Re: Qt5.5 beta apps deploying Отправлено: Пантер от Май 18, 2015, 11:40 С Кьютом поставляется утилита windeploy (или как-то так) - она хорошо подтягивает все зависимости. Очень рекомендую.
Название: Re: Qt5.5 beta apps deploying Отправлено: Mike-Aiki от Май 18, 2015, 13:12 С Кьютом поставляется утилита windeploy (или как-то так) - она хорошо подтягивает все зависимости. Очень рекомендую. Windeployqt.exe. Пробовал. Не помогло. Или ее в 5.5 не допилили. Название: Re: Qt5.5 beta apps deploying Отправлено: Пантер от Май 18, 2015, 13:31 Ты ей указывал путь к своим qml файлам? Это обязательно нужно.
Название: Re: Qt5.5 beta apps deploying Отправлено: Mike-Aiki от Май 18, 2015, 15:09 Ты ей указывал путь к своим qml файлам? Это обязательно нужно. Спасибо за наводку - не дочитал описание утилиты... ;) Указал путь - создалась еще куча папок для QML, программа-таки запустилась. Но вот какие забавные вещи наблюдаю: Создал дистрибутив с помощью Windeployqt в папке 1 (там был только exe-шник) - Удаляю все qml-папки из 1 (оставляю только platforms) - запускается! - Копирую папку 1 в папку 3 (без qml-папок) - запускается !! - Рядом находится папка 2 с _тем_же_ набором dll, что в 1 - оттуда не запускается. - Копирую в папку 2 qml-папки - запускается, удаляю qml-папки - не запускается. Чертовщина какая-то... ??? Понятно, что лучше весь этот qml-довесок тянуть в дистрибутиве... Название: Re: Qt5.5 beta apps deploying Отправлено: Fregloin от Май 19, 2015, 11:06 я с qml мало имел дело, но может попробовать хранить qml файлы в ресурсах приложения?
Название: Re: Qt5.5 beta apps deploying Отправлено: Mike-Aiki от Май 20, 2015, 14:07 я с qml мало имел дело, но может попробовать хранить qml файлы в ресурсах приложения? Они и так в ресурсах, вопрос не в этом. Просто для распространения QML-приложения требуется еще куча всего, кроме dll. Для примера можно в каталоге QtCreator глянуть на папки QtQml, QtQuick, QtQuick2. А утилите Windeployqt нужно обязательно указать путь к своим qml-исходным файлам, она, как я понимаю, анализирует секции 'import' и создаёт список требуемых файлов (и копирует их). Название: Re: Qt5.5 beta apps deploying Отправлено: BuRn от Июль 23, 2015, 00:00 С qml все сложно на самом деле, особенно сложно если вы захотите собирать статику. Я Вам рассскажу, скорее всего вам должно помочь.
Для запуска в статике qml приложения потребовалось положить все qml сырцы(все что вы делаете import blablabla), поставляемые с Qt, рядом с вашими исходниками. Далее нужно заставить ваше qml приложение использовать ваши скопированные стационарные qml файлы. Все это нужно упаковать в ресурсы по хорошему(именно так делал я, но по идее скорее всего будет работать и без ресурсов). Далее в проекте прилинковать нужные библиотеки от qml. Код: LIBS += -lqmlfolderlistmodelplugin Код: Q_IMPORT_PLUGIN(QtQuick2Plugin) |