0

Yocto を使用して、Qt 5.3.2 を i.MX6 用にコンパイルしようとしています。とdizzyの両方のブランチを使用しています。fsl-community-bspmeta-qt5

コンパイルが成功し、meta-toolchain-qt5QtCreator をコンパイルして構成します...実際には、最小限の Qt アプリケーション (ウィジェットベースと QML ベースの両方) を実行できます。私の問題は、QML WebView 要素を使用したいときに発生します... そのようなシナリオでは、アプリケーションがさまざまな (ランダムな?) エラーでクラッシュします: SIGILLSIGABRT、ポインター例外など... 誰かがコードメモリをガベージで上書きしているかのように...

ここに完全なスタック トレースがあります (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 ページです (一部のサンプル テキストのみ)...

WebViewQML から削除すると、アプリケーションは正常に動作します...問題の原因についてのアイデアはありますか? 他の誰かが同様の問題を抱えていますか?

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 に答える