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 для создания правильного пути относительно двоичного файла во время выполнения.