Невиконання сегментації QProcess при запуску ()

Я пишу клас програми-будівельника. І в мене є помилка сегментації.

#ifndef BUILDER_H
#define BUILDER_H

#include 
#include 
#include 
#include 

class Builder : public QProcess
{
Q_OBJECT
public:
    explicit Builder(QObject *parent = 0);
    void loadSource(QString fpath);
    bool isBuilded();

private:
    QProcess* shell;
    QString source;
    QString path;
    QString module;

signals:
    void sourceLoaded();
    void builded();

protected slots:
    void build();

};

#endif//BUILDER_H

І. Cpp:

#include "builder.h"

Builder::Builder(QObject *parent) :
    QProcess(parent)
{
    connect(this,SIGNAL(sourceLoaded()),this,SLOT(build()));
    connect(this,SIGNAL(finished(int)),this,SIGNAL(builded()));
}

void Builder::loadSource(QString fpath)
{
    source = fpath;
    QFileInfo info(source);
    path = info.absoluteDir().absolutePath();
    module = path+info.baseName();
    emit sourceLoaded();
}

bool Builder::isBuilded()
{
    if(QFile::exists(module))
        return true;
    return false;
}

void Builder::build()
{
    QStringList argv;
    argv << source;
    start("g++",argv);
}

Моєму коду потрібно скомпілювати програму, яка дає в loadSource (QString).

Коли я починаю початок (), функція програми повертає сигнал SISSEGV. Я не бачу помилки.

0
не вистачає мани! Нам потрібен ще код! Впровадження класу Builder виглядає досить добре для компіляції та навіть роботи ... АЛЕ, як ви використовуєте клас Builder?
додано Автор Kamil Klimek, джерело
Ви виконували ваш QApplication або QCoreApplication екземпляр? Механізм сигнал-слот залежить від циклу подій для багатопоточних випадків. Чи можете ви вказати, як ви використовували цей клас?
додано Автор blottedscience, джерело

Відповідей немає

0