DeadlyJesus
DeadlyJesus

Reputation: 1533

Cross-compiling QtDeclarative for raspberry pi

I'm trying to cross compile qml for Raspberry pi 3 on a x64 Ubuntu.
I followed this tutorial https://wiki.qt.io/RaspberryPi2EGLFS, installed Qt 5.6.3 and managed to run QtWidgets applications pretty easily and I'm now looking to use QML.

From what I understood, I need to install qtjsbackend and qtdeclarative for it to work so I cloned the github repositories and installed qtjsbackend without any trouble.
now, when I tried to run qmake on qtdeclarative, I got some weird errors:
/home/myname/raspi/qtdeclarative/src/src.pro:13: 'qtConfig' is not a recognized test function.
It keeps going on until:
Reading /home/myname/raspi/qtdeclarative/tests/auto/qml/debugger/qdebugmessageservice/qdebugmessageservice.pro Project ERROR: Unknown module(s) in QT: qmldebug-private

I can't find anything on the internet about this, does anyone have an idea of what to do ?

Upvotes: 1

Views: 1192

Answers (2)

Navjot Singh
Navjot Singh

Reputation: 49

I faced same problem and tried following

Try checking out 5.7 branch from your git repo for qtdeclarative,

git checkout 5.7 then qmake, make and make install.

Hope this helps.

Cheers

Upvotes: 1

Robin Burchell
Robin Burchell

Reputation: 881

The qtjsbackend requirement is old, and only needed for Qt 5.1. Newer qtdeclarative no longer use v8 as a JavaScript engine.

The error you are getting there is caused by a mismatch of version dependencies. You are trying to build a qtdeclarative that looks like it is from either a 5.8/5.9 or dev branch against a qtbase that you say is 5.6. If you have Qt 5.6, you want to build the same major & minor version for qtdeclarative, i.e. 5.6 (or a 5.6.x release)

I would suggest that you either use qt5.git to get you all the dependencies of the version that you need, or use the tarball releases which contain everything in one "blob".

Alternatively, you should be able to install it from your distribution. I would expect that it is already packaged there, though it may not be the newest version possible.

Upvotes: 2

Related Questions