0

我正在尝试使用 Yocto 为 i.MX6 编译 Qt 5.3.2。我正在使用 和的dizzy分支。fsl-community-bspmeta-qt5

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

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

堆栈跟踪

我的源代码很简单......我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
    }
}

test.html是一个标准的 HTML 页面(其中只有一些示例文本)...

如果我WebView从我的 QML 中删除,应用程序可以正常工作......关于导致问题的任何想法?其他人有类似的问题吗?

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

4

1 回答 1

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

它确实有效!

于 2014-11-24T10:13:49.110 回答