Yocto SDK,QtWebEngine:QT 中的未知模块:webengine
Posted
技术标签:
【中文标题】Yocto SDK,QtWebEngine:QT 中的未知模块:webengine【英文标题】:Yocto SDK, QtWebEngine: Unknown module(s) in QT: webengine 【发布时间】:2016-05-25 11:09:03 【问题描述】:我正在使用 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.
原来SDK中没有包含WebEngine。感谢this answer,我通过将以下内容放入我自己的packagegroup-qt5-toolchain-target.bbappend
文件来解决这个问题:
RDEPENDS_$PN += " \
qtwebengine \
qtwebengine-qmlplugins \
qtquickcontrols-qmlplugins \
qtwebengine-examples \
"
然后重新安装 SDK。现在看来,SDK 安装中所有 WebEngine 文件都可用(下面的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/
不过,我得到了同样的 Unknown module 错误。这个是独立于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】:在/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 环境。
【讨论】:
感谢您的回答!但是,此文件已在/opt/poky/1.8/environment-setup-cortexa9hf-vfp-neon-poky-linux-gnueabi
中获取。所以添加它甚至手动采购它都没有帮助。
尝试关注此wiki设置Qt创建者wiki.hioproject.org/…以上是关于Yocto SDK,QtWebEngine:QT 中的未知模块:webengine的主要内容,如果未能解决你的问题,请参考以下文章
从 Yocto SDK Build 安装时,QtCreator 认为 Qt5 QMake 安装无效
使用 Yocto Poky 为 Raspberry Pi2 构建 QtWebEngine - vcos_platform_types.h:没有这样的文件或目录
Yocto tips (19): Yocto SDK Toolchian的使用