Russian Qt Forum

Qt => Qt Quick => Тема начата: Dmitriy_91 от Июнь 11, 2015, 09:09



Название: Проблема с QML-импортом
Отправлено: Dmitriy_91 от Июнь 11, 2015, 09:09
Привет всем! Решил попробовать сделать приложение для Android в связке QML и C++ и столкнулся со следующей проблемой. Имеется класс на C++ - Mytype, связываю его с QML с помощью qmlregistertype. На десктопе всё собирается и работает нормально (в том числе мой класс Mytype). Apk для андроид тоже собирается, запускается на устройстве нормально, но Mytype на устройстве не работает. При сборке apk выдаёт следующую ошибку:

Цитировать
Warning: QML import could not be resolved in any of the import paths: mytype.

Что это за ошибка и как её исправить, помогите, пожалуйста. Упрощённый пример кода:

c++:
Код:
#include <QApplication>
#include <QtQml>
#include <QQmlApplicationEngine>
#include <QQmlEngine>
#include <QQmlContext>
#include <QtQuick/QQuickTextDocument>
#include "mytype.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    qmlRegisterType<Mytype>("mytype", 1, 0, "Mytype");

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

    return app.exec();
}
qml:
Код:
import QtQuick 2.4
import mytype 1.0;
    ...
    Mytype {
        id: my_type;
        ...
    }


Название: Re: Проблема с QML-импортом
Отправлено: carrygun от Июнь 11, 2015, 11:12
Попробуйте добавить #include <QQmlEngine> в main.cpp.


Название: Re: Проблема с QML-импортом
Отправлено: Dmitriy_91 от Июнь 11, 2015, 11:18
Все нужные библиотеки вроде подключены.


Название: Re: Проблема с QML-импортом
Отправлено: BuRn от Июнь 14, 2015, 14:52
Могу предположить, ибо натыкался на проблемы "Нужно с большой буквы"
Код:
qmlRegisterType<Mytype>("MytypeLib", 1, 0, "Mytype");
Код:
import MytypeLib 1.0;


Название: Re: Проблема с QML-импортом
Отправлено: Dmitriy_91 от Июнь 15, 2015, 10:05
Спасибо за совет, но он не помог.
Проблема в том, что ошибка возникает только при сборке для Android!