Yocto SDK,QtWebEngine:QT中的未知模块:webengine

时间:2016-05-25 11:09:03

标签: qt5 yocto qtwebengine

我正在使用Yocto在嵌入式主板(i.MX6)上使用Qt和QtWebEngine完成我的第一步。使用提供的示例配方,如 quicknanobrowser ,可以很好地在目标上运行。因此,我无法确认this answer声称WebEngine在嵌入式平台上不可用。

现在我想编写自己的QML应用程序并将其部署在主板上。使用配方meta-toolchain-qt5我创建了一个SDK并安装了它。在QtCreator中,我设置了SDK安装的所有路径并尝试构建它,但是出现了这个错误:

Project ERROR: Unknown module(s) in QT: webengine
11:13:13: The process "/opt/poky/1.8/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake" exited with code 3.

事实证明,WebEngine未包含在SDK中。感谢this answer,我通过将以下内容添加到我自己的packagegroup-qt5-toolchain-target.bbappend文件中来修复此问题:

RDEPENDS_${PN} += " \
    qtwebengine \
    qtwebengine-qmlplugins \
    qtquickcontrols-qmlplugins \
    qtwebengine-examples \
"

然后重新安装SDK。现在似乎所有WebEngine文件都可以在SDK安装中使用(下面的zsh glob模式匹配/opt/poky/1.8/的任何子目录中的所有目录,其中包含" webengine",不区分大小写):

% ls -1 -d (#i)/opt/poky/1.8/**/*webengine*(/)
/opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtWebEngine/
/opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtWebEngine/5.4.3/QtWebEngine/
/opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtWebEngineWidgets/
/opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/include/qt5/QtWebEngineWidgets/5.4.3/QtWebEngineWidgets/
/opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib/qt5/qml/QtWebEngine/
/opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/share/qt5/examples/webengine/
/opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/share/qt5/examples/webenginewidgets/
/opt/poky/1.8/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/share/qt5/translations/qtwebengine_locales/

但是,我得到了相同的未知模块错误。这与QtCreator无关,也可以通过直接调用qmake来显示:

% source /opt/poky/1.8/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
% /opt/poky/1.8/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake /home/me/test/test.pro -r -spec linux-oe-g++ CONFIG+=debug CONFIG+=declarative_debug CONFIG+=qml_debug
Project ERROR: Unknown module(s) in QT: webengine

项目本身应该没问题,因为它在桌面安装上编译并运行没有问题。

有什么想法吗? SDK中是否还有一些文件丢失? qmake在哪里搜索模块?如何告诉qmake在哪里找到WebEngine安装?

1 个答案:

答案 0 :(得分:0)

/opt/poky/1.8/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi

添加sh /opt/poky/1.8/sysroots/x86_64-pokysdk-linux/environment-setup.d/qt5.sh

这将设置Qt5环境。