QtQuick: модуль не установлен

Я борюсь с пользовательским модулем QML. Странно то, что он работает, когда я прекрасно работаю в Linux и Ubuntu, но когда я работаю в Windows, я получаю следующую ошибку во время выполнения

Модуль jbQuick.Charts не устанавливается.

Моя корневая директория проекта содержит папку qml/jbQuick/Charts который держит qmldir и файлы QML. Каталог QML добавлен в .pro файл:

QML_IMPORT_PATH = qml

Каталог qml добавляется в файл main.cpp:

QQmlApplicationEngine engine;
engine.addImportPath(QStringLiteral("jbQuick/Charts"));
engine.addImportPath(QStringLiteral("qml"));

В файле QML, где я хочу использовать пользовательский модуль, я заявляю:

import jbQuick.Charts 1.0

Я что-то пропустил? Это известная проблема?

2 ответа

Наиболее вероятная причина заключается в том, что относительный путь интерпретируется по-разному в вашей системе Windows - возможно, потому что текущий каталог, когда вы запускаете вашу программу, не является корневым каталогом вашего проекта. Не могли бы вы попробовать абсолютный путь, а именно:

engine.addImportPath("<your-project-root>/qml");

Если это работает, вы можете использовать GetModuleFileName для создания правильного пути относительно двоичного файла во время выполнения.

Копирование qml folder на ваш build folder работал на меня.

Другие вопросы по тегам