Проблема с запуском qwt:release
Вопрос следующий
Написал небольшое приложение, использующее Qwt
Цель приложения - построить некий аналог диаграмм Ганта
Использую QwtPlotIntervalCurve, QwtIntervalSample, etc.
Но суть не в этом
Выполняю сборку в release, запускаю через QT Creator
В Application Output появляется ошибка
Цитата:
FTH: (1652): *** Fault tolerant heap shim applied to current process. This is usually due to previous crashes. ***
Приложение запускается
Если я хочу зпаустить приложение с exe'шника (из папки с библиотеками) - появляется другая ошибка
Цитата:
Ошибка при запуске приложения (0xc000007b). Для выхода из приложения нажмите кнопку "ОК".
Естественно, не запускается
Отсюда один вопрос, состоящий из 2ух под...
С чем это связано, и как это исправить?
Данные ошибки вижу в первый раз, буду рад, если кто-то растолкует их смысл, особенно, если уже сталкивался с подобным!
Сама диаграмма
Код:
Plot::Plot(QString text, QWidget *parent) : QwtPlot(QwtText(text), parent) {
this->setCanvasBackground(Qt::white);
m_gant = new QwtPlotIntervalCurve();
//стиль - блок
m_symbol = new QwtIntervalSymbol(QwtIntervalSymbol::Box);
//высота блока
m_symbol->setWidth(15);
//стиль линии
QPen pen(Qt::green);
m_symbol->setPen(pen);
//стиль заливки блоков
QBrush brush(Qt::blue);
m_symbol->setBrush(brush);
m_gant->setSymbol(m_symbol);
//горизонтальная ориентация
m_gant->setOrientation(Qt::Horizontal);
//данные
QVector<QwtIntervalSample> samples;
/*for (int i = 0; i < 10000; i += 1000) {
samples.append(QwtIntervalSample(10, i, i + 800));
}*/
QwtIntervalSample sample = QwtIntervalSample(10, 0, 100);
//samples.append(QwtIntervalSample(10, 0, 100));
samples.append(sample);
samples.append(QwtIntervalSample(2, 150, 260));
samples.append(QwtIntervalSample(18, 350, 500));
m_gant->setSamples(samples);
//без соединительных линий
m_gant->setStyle(QwtPlotIntervalCurve::NoCurve);
m_gant->attach(this);
this->setContentsMargins(10, 10, 10, 10);
//число делений по оси Y
this->setAxisScale(0, 0, 20);
//число делений по оси X
this->setAxisScale(2, 0, 1000);
//число цифр по оси Y
this->setAxisMaxMajor(0, 10);
//Число цифр по оси X
this->setAxisMaxMajor(2, 10);
this->setAxisTitle(0, "Y");
this->setAxisTitle(2, "X");
this->setFixedWidth(900);
//рисуем
replot();
}
this->setCanvasBackground(Qt::white);
m_gant = new QwtPlotIntervalCurve();
//стиль - блок
m_symbol = new QwtIntervalSymbol(QwtIntervalSymbol::Box);
//высота блока
m_symbol->setWidth(15);
//стиль линии
QPen pen(Qt::green);
m_symbol->setPen(pen);
//стиль заливки блоков
QBrush brush(Qt::blue);
m_symbol->setBrush(brush);
m_gant->setSymbol(m_symbol);
//горизонтальная ориентация
m_gant->setOrientation(Qt::Horizontal);
//данные
QVector<QwtIntervalSample> samples;
/*for (int i = 0; i < 10000; i += 1000) {
samples.append(QwtIntervalSample(10, i, i + 800));
}*/
QwtIntervalSample sample = QwtIntervalSample(10, 0, 100);
//samples.append(QwtIntervalSample(10, 0, 100));
samples.append(sample);
samples.append(QwtIntervalSample(2, 150, 260));
samples.append(QwtIntervalSample(18, 350, 500));
m_gant->setSamples(samples);
//без соединительных линий
m_gant->setStyle(QwtPlotIntervalCurve::NoCurve);
m_gant->attach(this);
this->setContentsMargins(10, 10, 10, 10);
//число делений по оси Y
this->setAxisScale(0, 0, 20);
//число делений по оси X
this->setAxisScale(2, 0, 1000);
//число цифр по оси Y
this->setAxisMaxMajor(0, 10);
//Число цифр по оси X
this->setAxisMaxMajor(2, 10);
this->setAxisTitle(0, "Y");
this->setAxisTitle(2, "X");
this->setFixedWidth(900);
//рисуем
replot();
}
Форма
Код:
Form::Form(QWidget *parent) :
QWidget(parent),
ui(new Ui::Form)
{
ui->setupUi(this);
m_plot = new Plot("Gant", ui->widget);
int plotWidth = m_plot->width();
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(m_plot);
ui->widget->setLayout(layout);
ui->widget->setFixedWidth(plotWidth);
}
QWidget(parent),
ui(new Ui::Form)
{
ui->setupUi(this);
m_plot = new Plot("Gant", ui->widget);
int plotWidth = m_plot->width();
QVBoxLayout *layout = new QVBoxLayout();
layout->addWidget(m_plot);
ui->widget->setLayout(layout);
ui->widget->setFixedWidth(plotWidth);
}
main
Код:
int main(int argc, char** argv)
{
QApplication app(argc, argv);
Form form;
form.show();
return app.exec();
}
{
QApplication app(argc, argv);
Form form;
form.show();
return app.exec();
}
покажи строку линкера.