o
Мамыр 27, 2021, 6:30 Т.Қ.

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

win10, QML

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

код:

QT += core gui quick widgets quickwidgets

CONFIG += c++11

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
        main.cpp

RESOURCES += \
    src.qrc

TRANSLATIONS += \
    helloWorld_ru_RU.ts

# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =

# Additional import path used to resolve QML modules just for Qt Quick Designer
QML_DESIGNER_IMPORT_PATH =

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
#include <QApplication>
#include <QDebug>
#include <QQuickWidget>
#include <QMainWindow>


class MyQQuickWidget : public QQuickWidget
{
};

int main(int argc,
         char **argv)
{
    QApplication app(argc, argv);
//    const QSize  size(400, 400);
    QMainWindow  m;
    QQuickWidget *w = new QQuickWidget(&m);
    m.setCentralWidget(w);
    w->resize( m.width(), m.height() );
    w->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
    w->setResizeMode(QQuickWidget::SizeRootObjectToView);
    w->setSource( QUrl("qrc:/main.qml") );
    m.showMaximized();

    return app.exec();
} // main
Rectangle{
    anchors.fill: parent
    color: "black"
    }

Содержание дирректории при развертывании на 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, 6:53 Т.Қ.
  • (өңделген)

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

    o
    • Мамыр 27, 2021, 7:15 Т.Қ.

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

      Andrei Yankovich
      • Мамыр 27, 2021, 7:18 Т.Қ.

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

        o
        • Мамыр 27, 2021, 7:30 Т.Қ.

        спасибо

          o
          • Мамыр 27, 2021, 7:53 Т.Қ.

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

            Andrei Yankovich
            • Мамыр 27, 2021, 7:56 Т.Қ.

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

              Andrei Yankovich
              • Мамыр 27, 2021, 8:03 Т.Қ.

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

                o
                • Мамыр 27, 2021, 8: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

                  Пікірлер

                  Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
                  Кіріңіз немесе Тіркеліңіз