使用Yocto在i.MX6上的Qt 5.3.2:QML WebView的问题

时间:2014-11-19 15:18:45

标签: linux qt webview qt5 yocto

我正在尝试使用Yocto为i.MX6编译Qt 5.3.2。我使用dizzyfsl-community-bsp的{​​{1}}分支。

编译成功,我编译meta-qt5并配置QtCreator ...实际上我能够运行最小的Qt应用程序(基于小部件和基于QML)。当我想使用QML WebView元素时,我的问题出现了...在这种情况下,应用程序崩溃了各种(随机?)错误:meta-toolchain-qt5SIGILL,指针异常等等......好像有人用垃圾覆盖代码内存......

这里是完整的堆栈跟踪(取自QtCreator):

stacktrace

我的源代码非常简单......我的SIGABRT如下:

main.cpp

我的#include <QApplication> #include <QQuickView> int main(int argc, char *argv[]) { QApplication app(argc, argv); QQuickView view; view.setSource(QUrl("qrc:/main.qml")); view.showFullScreen(); return app.exec(); } 如下:

main.qml

import QtQuick 2.3 import QtWebKit 3.0 Rectangle { visible: true x: 0 y: 0 width: 480 height: 272 Text { text: qsTr("Hello World") x: 0 y: 0 } WebView { id: webview width: 480 height: 272 url: "qrc:/test.html" x: 0 y: 0 } } 是一个标准的HTML页面(其中只有一些示例文本)......

如果我从QML中删除test.html,那么该应用程序可以正常工作......有关导致问题的原因是什么?其他人有类似的问题吗?

如果有帮助,请考虑使用Yocto我编译了名为WebView的图像,并且所有Yocto和fsl-image-multimedia-full文件都保持不变,除了我做了一些修改以避免编译Qt示例,排除xcb和dbus支持并包含sqlite支持。

1 个答案:

答案 0 :(得分:1)

好的,我找到了一个可行的解决方案......使用帧缓冲设置,我已经成功地让我的测试工作了fbpix=BGR32到内核命令行...

我的命令行现在是:

console=ttymxc3,115200n8 root=/dev/mmcblk0p2 rootwait rw video=mxcfb0:dev=lcd,SAMSUNG-LMS700,if=RGB24,fbpix=BGR32 splash consoleblank=0 video=mxcfb1:off video=mxcfb2:off

它确实有用!