• 10132阅读
  • 5回复

为什么在ARM板上运行程序时,都出现segmentation fault [复制链接]

上一主题 下一主题
离线fiona_hyy
 
只看楼主 倒序阅读 楼主  发表于: 2010-09-25
— 本帖被 XChinux 执行加亮操作(2010-11-02) —
环境: PC机是Ubuntu10.04;ARM用S3C2440;
            在qt.nokia.com下载的qt-everywhere-opensource-src-4.6.3
            友善之臂下载的交叉编译工具arm-linux-gcc-4.4.3和ARM板NFS启动工具rootfs_qtopia_qt4_20100816
            GDB调试工具gdb-7.1 (Ubuntu)
用最简单的QT程序HelloWorld,代码如下:

# include <QDebug>
# include <qwindowsystem_qws.h>
# include <QLabel>

int main(int argc, char * argv[])
{
        qDebug() << "Hello! Hello!";
        QApplication app(argc, argv, QApplication::GuiServer);
        qDebug() << "Application starts.....";

        QLabel hello("Hello World!");
        hello.resize(480, 320);
        hello.show();
        return app.exec();
}
在板上运行后显示:
       Hello! Hello!
       Segmentation fault
用gdb的backtrace后显示:
       0x40198024 in QLinuxFbScreen::useOffscreen()() from /..../libQtGui.so.4
       0x4019aadc in QLinuxFbScreen::connect(QString const&) () from /..../libQtGui.so.4
无论运行什么程序,包括demo的都出现同样的结果。

大家有没什么建议啊?

离线fiona_hyy
只看该作者 1楼 发表于: 2010-09-25
大家都用什么环境的ARM上的啊?
我的程序的PC机上都运行得很好,但一到ARM上就不行了。大家编程都用哪个版本的Qt/E和arm-linux-gcc啊?
离线chenroby
只看该作者 2楼 发表于: 2010-09-27
用4.1.2的编译器编译QtE库,用友善4.3.2的编译QtE库运行应用程序时会出现段错误,我用的QtE4.4.1
离线ajqwxh
只看该作者 3楼 发表于: 2010-10-26
用 eabi-arm920t 就是4.1.2 编译就没有问题啦 所有段错误都可以解决 嘿嘿
离线nmiirq

只看该作者 4楼 发表于: 2010-11-15
QT库的问题,到友善的官网上去多转一转吧
离线zjhcool
只看该作者 5楼 发表于: 2010-11-16
不是Qt 库的问题, 问题原因可能是:

1、framebuffer 未初始化,由于你用到了QWidget 部分,需要用到framebuffer, 因此需要初始化fb
      0x40198024 in QLinuxFbScreen::useOffscreen()() from /..../libQtGui.so.4
       0x4019aadc in QLinuxFbScreen::connect(QString const&) () from /..../libQtGui.so.4
更说明了这点

2、你的程序是否添加了qws
我的博客地址: http://newfaction.net
快速回复
限100 字节
 
上一个 下一个