Qt i "undefined reference to " dla sygnału

0

Cześć. Dzisiaj natrafiłem na dziwny problem, z którym niestety nie mogę sobie poradzić.
Podczas pracy nad aplikacją po dodaniu nowego sygnału kompilacja programu kończy się z następującym komunikatem o błędzie

undefined reference to `MusicItem::titleChanged(QString, QString)'
undefined reference to `MusicItem::invalid()'
bad reloc address 0x13 in section `.eh_frame'

Uruchamianie qmake, czyszczenie, budowanie od nowa projektu niestety nie pomaga. Także ponowne uruchomienie komputera.
Zamieszczam również kod klasy
musicitem.h

#ifndef MUSICITEM_H
#define MUSICITEM_H

#include <QObject>
#include <QDateTime>

class MusicItem : public QObject
{
    Q_OBJECT
public:
    explicit MusicItem(QObject *parent = 0);

    QString videoTitle() { return vTitle; }
    QString videoID() { return vID; }
    QDateTime dateTime() { return dt; }
    int itemID() { return id; }

    bool operator<(MusicItem &other) const { return dt < other.dateTime(); }
    bool operator>(MusicItem &other) const { return dt > other.dateTime(); }
    bool operator==(MusicItem &other) const { return vID == other.videoID(); }

signals:
    void titleChanged(QString vidID, QString title);
    void invalid();

public slots:
    void setVideoTitle(QString vID, QString title);
    void setVideoTitle(QString title);
    void setVideoID(QString id) { vID = id; }
    void setDateTime(QDateTime date) { dt = date; }
    void setID(int newID) { id = newID; }

private:
    QString vTitle;
    QString vID;
    int id;
    QDateTime dt;

};

#endif // MUSICITEM_H

musicitem.cpp

#include "musicitem.h"

MusicItem::MusicItem(QObject *parent) :
    QObject(parent)
{
}

void MusicItem::setVideoTitle(QString vID, QString title)
{
    if(vID == videoID()) {
        vTitle = title;
        emit titleChanged(vID, title);
    }
}

void MusicItem::setVideoTitle(QString title)
{
    vTitle = title;
    if(title.isEmpty()) emit invalid();
}

Jeżeli wykomentuję sygnał invalid(); kompilacja przebiega poprawnie i program uruchamia się. Nasuwa mi się pytanie: WTF? Kolejna anomalia w Qt czy po zabawie z tym błędem nie widzę już nawet prostego błędu?

0

a jak zamienisz kolejność titleChanged() i invalid() to coś się zmienia?

0

Jestem prawie pewien, że po prostu w pliku projektu (.pro), brakuje:HEADERS += musicitem.h
Efekt jest taki, że dla tej klasy nie jest generowany "moc_
.cpp" co daje efekt jak opisano.

1 użytkowników online, w tym zalogowanych: 0, gości: 1