o
27 мая 2021 г. 18:30

Развертывание на win10

win10, QML

Добрый день.
При сборке на винде qml отображается, при развертывании приложения на win 10 qml не отображается.
Кто-нибудь сталкивался?

код:

  1. QT += core gui quick widgets quickwidgets
  2.  
  3. CONFIG += c++11
  4.  
  5. # You can make your code fail to compile if it uses deprecated APIs.
  6. # In order to do so, uncomment the following line.
  7. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
  8.  
  9. SOURCES += \
  10. main.cpp
  11.  
  12. RESOURCES += \
  13. src.qrc
  14.  
  15. TRANSLATIONS += \
  16. helloWorld_ru_RU.ts
  17.  
  18. # Additional import path used to resolve QML modules in Qt Creator's code model
  19. QML_IMPORT_PATH =
  20.  
  21. # Additional import path used to resolve QML modules just for Qt Quick Designer
  22. QML_DESIGNER_IMPORT_PATH =
  23.  
  24. # Default rules for deployment.
  25. qnx: target.path = /tmp/$${TARGET}/bin
  26. else: unix:!android: target.path = /opt/$${TARGET}/bin
  27. !isEmpty(target.path): INSTALLS += target
  1. #include <QApplication>
  2. #include <QDebug>
  3. #include <QQuickWidget>
  4. #include <QMainWindow>
  5.  
  6.  
  7. class MyQQuickWidget : public QQuickWidget
  8. {
  9. };
  10.  
  11. int main(int argc,
  12. char **argv)
  13. {
  14. QApplication app(argc, argv);
  15. // const QSize size(400, 400);
  16. QMainWindow m;
  17. QQuickWidget *w = new QQuickWidget(&m);
  18. m.setCentralWidget(w);
  19. w->resize( m.width(), m.height() );
  20. w->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
  21. w->setResizeMode(QQuickWidget::SizeRootObjectToView);
  22. w->setSource( QUrl("qrc:/main.qml") );
  23. m.showMaximized();
  24.  
  25. return app.exec();
  26. } // main
  1. Rectangle{
  2. anchors.fill: parent
  3. color: "black"
  4. }

Содержание дирректории при развертывании на win10:

d3dcompiler_47.dll
first.exe
libEGL.dll
libgcc_s_seh-1.dll
libGLESv2.dll
libstdc++-6.dll
libwinpthread-1.dll
platforms
Qt5Core.dll
Qt5Gui.dll
Qt5Network.dll
Qt5Qml.dll
Qt5QmlModels.dll
Qt5Quick.dll
Qt5QuickWidgets.dll
Qt5Widgets.dll

2

Вам это нравится? Поделитесь в социальных сетях!

9
Andrei Yankovich
  • 27 мая 2021 г. 18:53
  • (ред.)

Вы собрали не полный дистрибутив и не положиле зависимости qml.
cqtdeployer -bin My.exe -qmake /path/to/my/qmake.exe -qmlDir /path/to/my/qml/source/Dir

    o
    • 27 мая 2021 г. 19:15

    Какая структура у вашей дирректори?
    Собранного cqtdeployer под винду нет.
    Гит репу хз как собирать, в документации указаны только флаги.
    Процесс сборки не показан.

      Andrei Yankovich
      • 27 мая 2021 г. 19:18

      https://github.com/QuasarApp/CQtDeployer/releases/download/1.5.1/CQtDeployer_1.5.1_Installer_Win64.exe

        o
        • 27 мая 2021 г. 19:30

        спасибо

          o
          • 27 мая 2021 г. 19:53

          запускаю в дирректори с кодом
          cqtdeployer -bin my.exe -qmake C:/Qt/5.15.2/mingw81_64/bin/qmake.exe -qmlDir ./
          требует некий конфиг

            Andrei Yankovich
            • 27 мая 2021 г. 19:56

            Покажите ваш лог

              Andrei Yankovich
              • 27 мая 2021 г. 20:03

              в место my.exe должен быть путь к исполяемому файлу вашей программы. Программа должна быть собрана под релиз а не дебаг.

                o
                • 27 мая 2021 г. 20:25
                • (ред.)
                • Ответ был помечен как решение.

                спасибо) заработало

                cqtdeployer -bin C:/first/src/build-helloWorld-Desktop_Qt_5_15_2_MinGW_64_bit-Release/release/helloWorld.exe -qmake C:/Qt/5.15.2/mingw81_64/bin/qmake.exe -qmlDir ../first

                  Комментарии

                  Только авторизованные пользователи могут публиковать комментарии.
                  Пожалуйста, авторизуйтесь или зарегистрируйтесь