QML «QtQuick . PrivateWidgets» не найден — Переполнение стека.Плагин «PrivateWidgets» «widgetsplugin» не найден

#c #qt #qml #qt-quick #qtdeclarative

#c #qt #qml #qt-быстрый #qtdeclarative

Вопрос:

Я разработал свое приложение Qt с использованием общих библиотек Qt.

После перехода к статическим библиотекам Qt CONFIG = static мое приложение выходит из строя, и я вижу в журнале

QQmlApplicationEngine не удалось загрузить компонент

qrc:/main.qml:907 Тип MessageDialog недоступен

qrc:/QtQuick/Dialogs/WidgetMessageDialog.qml: 42 модуля «QtQuick.Плагин «PrivateWidgets» «widgetsplugin» не найден

Проблемная часть qml выглядит следующим образом:

 import QtQuick 2.1
import QtQuick.Controls 1.1
import QtQuick.Window 2.0
import QtQuick.Dialogs 1.1

ApplicationWindow {

    ...

    MessageDialog {
        id: emailSuccessDialog

        title: qsTr("Done")
        text: qsTr("Email has been sent successfully")
    }
}
  

Мои вопросы:

  • Что это за QtQuick.PrivateWidgets плагин?
  • Как исправить эту проблему?

Ответ №1:

Похоже, я просто забыл выполнить make module-qtquickcontrols в терминале

Команда полной сборки выглядит:

 OPENSSL_LIBS='-L/usr/lib/x86_64-linux-gnu -lssl -lcrypto' 

./configure -developer-build -static -opensource -confirm-license 
-nomake examples -nomake tests -nomake tools -openssl-linked

make
make module-qtquickcontrols