Qt/QML деплой, стандартные qml файлы, Или убрать или засунуть в ресурсы |
Здравствуйте, гость ( Вход | Регистрация )
Qt/QML деплой, стандартные qml файлы, Или убрать или засунуть в ресурсы |
Boloden |
2.11.2018, 13:45
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 1 Регистрация: 2.11.2018 Пользователь №: 5000 Спасибо сказали: 0 раз(а) Репутация: 0 |
В документации написано, что с версии Qt 5.2 достаточно положить плагин quick controls и qmldir файл в подкаталог каталога где лежит бинарник приложения. Но если так сделать то будут ошибки на отсутствие стандартных (тех которые из исходников Qt) qml файлов типа Label.qml. Если добавить отсутствующие *.qml файлы из исходников Qt то всё работает.
Вопрос, документация врёт, что *.qml не нужны и что они якобы уже находятся в ресурсах скомпилированного плагина QuickControls? Обязательно ли таскать *.qml файлы из исходников Qt вместе со своим приложением? Нельзя ли *.qml файлы из исходников Qt засунуть в ресурсы своего приложения? Я пробовал добавить в ресурсы, но это не сработало. |
|
|
Алексей1153 |
3.11.2018, 8:05
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
не знаю, как в 5.2, а в 5.9 имеется такая утилита
C:\Qt592\5.9.2\mingw53_32\bin\windeployqt.exe вроде как умеет копировать нужные dll и файлы Usage: C:\Qt592\5.9.2\mingw53_32\bin\windeployqt.exe [options] [files] Qt Deploy Tool 5.9.2 Цитата The simplest way to use windeployqt is to add the bin directory of your Qt installation (e.g. <QT_DIR\bin>) to the PATH variable and then run: windeployqt <path-to-app-binary> If ICU, ANGLE, etc. are not in the bin directory, they need to be in the PATH variable. If your application uses Qt Quick, run: windeployqt --qmldir <path-to-app-qml-files> <path-to-app-binary> Options: -?, -h, --help Displays this help. -v, --version Displays version information. --dir <directory> Use directory instead of binary directory. --libdir <path> Copy libraries to path. --plugindir <path> Copy plugins to path. --debug Assume debug binaries. --release Assume release binaries. --pdb Deploy .pdb files (MSVC). --force Force updating files. --dry-run Simulation mode. Behave normally, but do not copy/update any files. --no-patchqt Do not patch the Qt5Core library. --no-plugins Skip plugin deployment. --no-libraries Skip library deployment. --qmldir <directory> Scan for QML-imports starting from directory. --no-quick-import Skip deployment of Qt Quick imports. --no-translations Skip deployment of translations. --no-system-d3d-compiler Skip deployment of the system D3D compiler. --compiler-runtime Deploy compiler runtime (Desktop only). --no-compiler-runtime Do not deploy compiler runtime (Desktop only). --webkit2 Deployment of WebKit2 (web process). --no-webkit2 Skip deployment of WebKit2. --json Print to stdout in JSON format. --angle Force deployment of ANGLE. --no-angle Disable deployment of ANGLE. --no-opengl-sw Do not deploy the software rasterizer library. --list <option> Print only the names of the files copied. Available options: source: absolute path of the source files target: absolute path of the target files relative: paths of the target files, relative to the target directory mapping: outputs the source and the relative target, suitable for use within an Appx mapping file --verbose <level> Verbose level. Qt libraries can be added by passing their name (-xml) or removed by passing the name prepended by --no- (--no-xml). Available libraries: bluetooth concurrent core declarative designer designercomponents enginio gamepad gui qthelp multimedia multimediawidgets multimediaquick network nfc opengl positioning printsupport qml qmltooling quick quickparticles quickwidgets script scripttools sensors serialport sql svg test webkit webkitwidgets websockets widgets winextras xml xmlpatterns webenginecore webengine webenginewidgets 3dcore 3drenderer 3dquick 3dquickrenderer 3dinput geoservices webchannel texttospeech serialbus Arguments: [files] Binaries or directory containing the binary. добавить в ресурсы можно, наверное, но при запуске приложения придётся по стандартным фиксированным (относительно модуля) путям разложить. Проще сделать инсталляшку, откуда юзер будет обновлять модуль и файлы, заменяя старые поверх перед сборкой инсталляшки выполнять windeployqt.exe Сообщение отредактировал Алексей1153 - 3.11.2018, 8:06 |
|
|
Текстовая версия | Сейчас: 25.11.2024, 10:58 |