В проекте используется Qt 4.7.1. Почему то при работе с GUI приложения закрываются с сообщением
Memory fault (core dumped).
К примеру, есть минимальное приложение с единственной кнопкой при нажатии на которую производится выход из QApplication.
Файл main.cpp#include <QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
widget w;
w.show();
return a.exec();
}
Файл widget.h#include <QWidget>
#include <QPushButton>
#include <QHBoxLayout>
#include <QApplication>
class widget : public QWidget {
public:
widget();
virtual ~widget();
QPushButton *button;
QHBoxLayout *layout;
};
Файл widget.cpp#include "widget.h"
widget::widget() {
button = new QPushButton;
layout = new QHBoxLayout;
button->setText("Button");
QObject::connect(button, SIGNAL(clicked()), QApplication::instance(), SLOT(quit()));
//QObject::connect(button, SIGNAL(clicked()), this, SLOT(close())); Можно и так, ошибка все равно проявляется
layout->addWidget(button);
this->setBaseSize(QSize(50, 50));
this->setLayout(layout);
}
widget::~widget() {
delete button;
delete layout;
}
Ну и сам вывод:
# ./Button
QQnxScreen: Attached to Device, number of displays: 1
QQnxScreen: Attached to Display 0, resolution 800x600, refresh 60 Hz
Memory fault (core dumped)
И вывод дампа.
# cd mnt/user/archive/logs/dumps.core/
# gunzip Button.core.gz
# gdb /debug/Button Button.core
GNU gdb (GDB) 7.5 qnx (rev. 737)
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-pc-nto-qnx8.0.0".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /debug/Button...done.
[New pid 144044050 tid 1]
warning: Corrupted shared library list: 0x0 != 0x8050c00
warning: no loadable sections found in added symbol-file /proc/boot/libc.so.3
Program terminated with signal 11, Segmentation fault.
#0 0xb83a0848 in QObject::~QObject() ()
from /usr/local/Trolltech/QtEmbedded-4.7.1/lib/libQtCore.so.4
Конечно же написал сюда уже после многочисленных гуглений и попыток решить проблему. Если кто то встречался с подобной проблемой или знает решение прошу отозваться. Спасибо.