raspberry pi 的交叉编译 QtDeclarative

Cross-compiling QtDeclarative for raspberry pi

我正在尝试在 x64 Ubuntu.
上为 Raspberry pi 3 交叉编译 qml 我跟着这个教程 https://wiki.qt.io/RaspberryPi2EGLFS,安装了 Qt 5.6.3 并设法 运行 QtWidgets 应用程序非常容易,我现在正在寻找使用 QML。

据我了解,我需要安装 qtjsbackendqtdeclarative 才能正常工作,因此我克隆了 github 存储库并安装了 qtjsbackend,没有任何问题。
现在,当我在 qtdeclarative 上尝试 运行 qmake 时,我遇到了一些奇怪的错误:
/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

我在互联网上找不到任何关于此的信息,有人知道该怎么做吗?

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 获取所需版本的所有依赖项,要么使用包含所有内容的 tarball 版本 "blob".

或者,您应该能够从您的发行版中安装它。我希望它已经打包在那里,尽管它可能不是最新版本。

我遇到了同样的问题并尝试了以下

尝试从您的 git 仓库中检查 5.7 分支以获得 qtdeclarative,

git结帐5.7 然后是 qmake、make 和 make install。

希望这对您有所帮助。

干杯