我正在尝试使用Yocto为i.MX6编译Qt 5.3.2。我使用dizzy
和fsl-community-bsp
的{{1}}分支。
编译成功,我编译meta-qt5
并配置QtCreator ...实际上我能够运行最小的Qt应用程序(基于小部件和基于QML)。当我想使用QML WebView元素时,我的问题出现了...在这种情况下,应用程序崩溃了各种(随机?)错误:meta-toolchain-qt5
,SIGILL
,指针异常等等......好像有人用垃圾覆盖代码内存......
这里是完整的堆栈跟踪(取自QtCreator):
我的源代码非常简单......我的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支持。
答案 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
它确实有用!