Кросс-компиляция QtDeclarative для Raspberry Pi
Я пытаюсь кросс-компилировать qml
для Raspberry Pi 3 на x64 Ubuntu.
Я следовал этому руководству https://wiki.qt.io/RaspberryPi2EGLFS, установил Qt 5.6.3 и сумел довольно легко запускать приложения QtWidgets, и теперь я хочу использовать QML.
Из того, что я понял, мне нужно установить qtjsbackend
а также qtdeclarative
чтобы он работал, поэтому я клонировал репозитории github и установил qtjsbackend
без проблем.
теперь, когда я пытался бежать qmake
на qtdeclarative
Я получил несколько странных ошибок:/home/myname/raspi/qtdeclarative/src/src.pro:13: 'qtConfig' is not a recognized test function.
Это продолжается до тех пор, пока:Reading /home/myname/raspi/qtdeclarative/tests/auto/qml/debugger/qdebugmessageservice/qdebugmessageservice.pro
Project ERROR: Unknown module(s) in QT: qmldebug-private
Я ничего не могу найти в интернете по этому поводу, у кого-нибудь есть идеи, что делать?
2 ответа
qtjsbackend
требование старое и требуется только для Qt 5.1. Более новые qtdeclarative больше не используют v8 как движок JavaScript.
Ошибка, которую вы получаете, вызвана несоответствием зависимостей версий. Вы пытаетесь создать qtdeclarative, который выглядит так, как будто он из ветки 5.8/5.9 или dev против qtbase, который, как вы говорите, равен 5.6. Если у вас Qt 5.6, вы хотите собрать ту же основную и вспомогательную версию для qtdeclarative, то есть 5.6 (или выпуск 5.6.x)
Я хотел бы предложить вам либо использовать qt5.git
чтобы получить все зависимости от версии, которая вам нужна, или использовать tar-релизы, которые содержат все в одном "блобе".
Кроме того, вы можете установить его из своего дистрибутива. Я ожидал бы, что это уже упаковано там, хотя это, возможно, не самая новая возможная версия.
Я столкнулся с той же проблемой и попытался следовать
Попробуйте проверить ветку 5.7 из вашего репозитория git для qtdeclarative,
git checkout 5.7, затем qmake, сделайте и сделайте установку.
Надеюсь это поможет.
ура